Próbuję konwertować pliki Excel do plików CSV przy użyciu biblioteki xlrd
.python xlrd przekonwertować xlsx na csv
Ale mam ten błąd:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0142' in position 2: ordinal not in range(128)
Może to być, ponieważ plik Excel jest zbyt duży? Ponieważ wszystko działa dobrze z plikami Excela, które mają małą liczbę wierszy. Ale kiedy próbowałem przekonwertować plik Excela, który ma prawie 2000 wierszy, dostałem ten błąd.
[UPDATE]
Jest to kod:
filepath = './attachments'
wb = xlrd.open_workbook(os.path.join(filepath, 'result.xls'))
sheet = wb.sheet_by_index(0)
fp = open(os.path.join(filepath, 'result.csv'), 'wb')
wr = csv.writer(fp, quoting=csv.QUOTE_ALL)
for rownum in xrange(sheet.nrows):
wr.writerow(sheet.row_values(rownum))
fp.close()
I to jest traceback:
Traceback (most recent call last):
File "MethodTest.py", line 11, in <module>
wr.writerow(sheet.row_values(rownum))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0142' in position 2: ordinal not in range(128)
Pokaż nam kod i pełne informacje zwrotne; nie jest to spowodowane wielkością arkusza kalkulacyjnego. –
@MartijnPieters: Właśnie zaktualizowałem kod i śledzenie. Dzięki. – Cacheing