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

虽然没试过。