Я попытался сгенерировать некоторый код для вставки данных Excel в базу данных MySQL, но до сих пор у меня возникли некоторые проблемы с этим. Это говорит ProgrammingError в /
(1064, «у вас есть ошибка в вашем синтаксисе SQL; проверьте правильность синтаксиса, близкую к« = »(« Barcelona - Sants »,« Good », 2.1331, 41.3788,« NA », в руководстве, соответствующем версии вашего сервера MySQL). , 'NA', 'NA', '0h', 'Good', 84, 'NA', 'в строке 1 ")
Кто-нибудь может мне помочь?
'''
sql_insert = 'INSERT INTO {} (' .format(db_sheet)
for i in range(0,sheet.ncols):
sql_insert += 'item{},'.format(i)
sql_insert = sql_insert[:-1]
sql_insert += ') '
excel_data = list()
for r in range(1, sheet.nrows):
row_content = []
for j in range(0,sheet.ncols):
ctype = sheet.cell(r,j).ctype # 判断单元格数据类型
cell = sheet.cell(r,j).value
if ctype==1: #如果是字符串,
cell = cell
elif ctype==2 and cell % 1==0: #如果是整形
cell = int(cell)
elif ctype==3: # 如果是日期型
dt = xlrd.xldate_as_datetime(cell, book.datemode)
cell = dt.strftime('%Y/%M/%D %H:%M:%S')
elif ctype==4:
cell = True if cell==1 else False
row_content.append(cell)
values = tuple(row_content)
excel_data.append(row_content)
cursor.execute(sql_insert, values)
'''
print(sql_insert%values)
# ====>outputs
INSERT INTO air_quality_Nov2017 (item0,item1,item2,item3,item4,item5,item6,item7,item8,item9,item10,item11,item12,item13,item14) values = (Barcelona - Observ Fabra,Good,2.1239,41.4183,22h,Good,64,22h,Good,21,22h,Good,12,30/11/2018 23:00,1543615502)
while excuting in mysql via command lines, it gives the same error info.