我正在尝试将一个超级简单的.csv/txt文件读入Python,并将数据插入本地MySQL数据库。你知道吗
这里是Python.csv reader模块:
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, "Incorrect integer value: 'dimensionType' for column 'dimensionType' at row 1")
这是我正在阅读的文件的link(从Excel 2016 for Mac保存为.csv,然后从sublimitext重新保存为UTM-8)。你知道吗
如果我试着这样做:
df=pd.read_csv('/users/edchigliak/desktop/baza.txt')
for row in df:
cursor.execute(sql, row)
db.commit()
我得到这个错误:
query = query % tuple([db.literal(item) for item in args]) TypeError: not all arguments converted during string formatting
我做错什么了?你知道吗
通过这些%构造sql字符串时,您不会得到所需值周围的“”!您可以使用{0}和format或任何sql字符串生成器。。。你知道吗
相关问题 更多 >
编程相关推荐