我试图将一个超级简单的. .csv/txt文件读入Python中,并将数据插入本地MySQL数据库。
下面是Python .csv阅读器模块:
import MySQLdb
import pandas as pd
import numpy as np
import xlwings as xw
import csv
# Connect to database
db = MySQLdb.connect(
host = "localhost",
user = "root",
passwd = "/pwd/",
db = "mydb",
)
sql = '''INSERT INTO dimension(dimension, dimensionType, abbreviation, translationHr, code, priority) VALUES (%s, %s, %s, %s, %s, %s)'''
cursor = db.cursor()
# Open CSV, read data
with open('/users/edchigliak/desktop/baza.txt', 'rb') as f:
reader = csv.reader(f, delimiter=';')
# Insert into db
for row in reader:
cursor.execute(sql, row)
db.commit()
sql = '''SELECT * FROM dimension'''
cursor.execute(sql)
db.close()
result = cursor.fetchall()
print result然而,这给了我一个错误:
_mysql_exceptions.OperationalError:(1366年,“不正确的整数值:第1行的”dimensionType“列的”dimensionType“)
下面是我正在读取的文件的链接 (从Excel2016保存到Mac作为.csv,然后再从SublimeText保存为UTM-8)。
如果我试着用Pandas模块这样做的话:
df=pd.read_csv('/users/edchigliak/desktop/baza.txt')
for row in df:
cursor.execute(sql, row)
db.commit()我知道这个错误:
TypeError:不是所有在字符串格式化期间转换的参数
我做错了什么?
发布于 2016-03-04 17:05:17
通过这些%构造sql字符串,您不会得到所需值的“”!可以使用“{0}”和“格式”或任何sql字符串生成器.
https://stackoverflow.com/questions/35801603
复制相似问题