Python - xlrd 和 unicodecsv
Python - xlrd and unicodecsv
我想将 Excel(xlsx) 文件转换为 csv。我已经为此功能编写了代码,但 quotechart='"' 不起作用。
import xlrd
import unicodecsv
def xls_to_csv (xls_filename, csv_filename):
wo = xlrd.open_workbook(xls_filename)
st = wo.sheet_by_index(0)
fl = open(csv_filename,"wb")
csv_out = unicodecsv.writer(fl, encoding='utf-8', quotechart='"')
for row_number in range (st.nrows):
csv_out.writerow(st.row_values(row_number))
fl.close()
xls_to_csv('PT_BR.POSTP.20160508_vx27.xlsx','prueba.csv')
当前输出:
Category,Term,POS,Term,POS,Term,POS,,,,
A001,atendimento,sust,concessionário,sust,não,adv,bom,adj,,
...
期望的输出:
"Category","Term","POS","Term","POS","Term","POS"
"A001","atendimento","sust","concessionário","sust","não","adv","bom","adj"
...
尝试将其添加到 csv 文件编写器对象中而不是 quotechart='"'
:
quoting = unicodecsv.QUOTE_ALL
虽然没试过。
我想将 Excel(xlsx) 文件转换为 csv。我已经为此功能编写了代码,但 quotechart='"' 不起作用。
import xlrd
import unicodecsv
def xls_to_csv (xls_filename, csv_filename):
wo = xlrd.open_workbook(xls_filename)
st = wo.sheet_by_index(0)
fl = open(csv_filename,"wb")
csv_out = unicodecsv.writer(fl, encoding='utf-8', quotechart='"')
for row_number in range (st.nrows):
csv_out.writerow(st.row_values(row_number))
fl.close()
xls_to_csv('PT_BR.POSTP.20160508_vx27.xlsx','prueba.csv')
当前输出:
Category,Term,POS,Term,POS,Term,POS,,,,
A001,atendimento,sust,concessionário,sust,não,adv,bom,adj,,
...
期望的输出:
"Category","Term","POS","Term","POS","Term","POS"
"A001","atendimento","sust","concessionário","sust","não","adv","bom","adj"
...
尝试将其添加到 csv 文件编写器对象中而不是 quotechart='"'
:
quoting = unicodecsv.QUOTE_ALL
虽然没试过。