我正在尝试将数据上传到mysql。该文本文件为表格格式,我需要将其转换为Excel工作表,文本如下:
AC NO PART NO SR NO Voter Name ID CARD NO GENDER AGE
195 5 747 अमर सुदाम नाडेकर AFB8066037 M 22
195 12 502 अमर बाळु सुकाळे AFB1833029 M 29
195 20 1014 अमर सुदाम नाडेकर AFB8272858 M 22
195 22 449 अमर रामचंद्र भालिंगे AFB8121022 M 22
195 29 379 अमरदीप एकनाथ कुमकर AFB8068603 M 20
195 36 617 अमर तानाजी डुंबरे AFB7546203 M 30
195 37 360 अमर सिताराम तांबे AFB7987993 M 23
我尝试了一些代码,它给了我这样的CSV格式:
"AC,NO,PART,NO,SR,NO,Voter,Name,ID,CARD,NO,GENDER,AGE,,,,
","195,5,747,अमर,सुदाम,नाडेकर,AFB8066037,M,22
","195,12,502,अमर,बाळु,सुकाळे,AFB1833029,M,29
","195,20,1014,अमर,सुदाम,नाडेकर,AFB8272858,M,22
","195,22,449,अमर,रामचंद्र,भालिंगे,AFB8121022,M,22
","195,29,379,अमरदीप,एकनाथ,कुमकर,AFB8068603,M,20
","195,36,617,अमर,तानाजी,डुंबरे,AFB7546203,M,30
","195,37,360,अमर,सिताराम,तांबे,AFB7987993,M,23
","195,42,450,अमर,आशोक,हांडे,FTV1708460,M,35
这是我的代码:
import csv
import pandas as pd
f = open('voters_search_results1.txt')
x = f.readlines()
s = []
for i in x:
i = i.replace(","," ")
j = i.replace(" ",",")
s.append(j)
csvex = csv.writer(open("txt2csv_export.csv","w"), delimiter= ','
,quoting= csv.QUOTE_MINIMAL)
csvex.writerow(s)
df = pd.read_csv('txt2csv_export.csv')
df.to_excel('output.xlsx', 'Sheet1')
当我尝试将其上传到mysql时会出现此错误:
“”“ raise XLRDError('不支持的格式,或者文件损坏:'+ msg) xlrd.biffh.XLRDError:不支持的格式或损坏的文件:预期 BOF记录;找到b'“ AC,NO,P'”“”
答案 0 :(得分:0)
您的输出文件字段分隔符看起来不正确,并且在行的开头有双引号,但没有匹配的末尾双引号,CSV应该类似于:
"AC","NO","PART","NO","SR"... etc
尝试添加quotechar以使用“”格式拆分字段:
csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)