xlrd
라이브러리를 사용하여 Excel 파일을 CSV 파일로 변환하려고합니다.python xlrd xlsx를 csv로 변환
하지만이 오류가있어 : 엑셀 파일이 너무 크기 때문에
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0142' in position 2: ordinal not in range(128)
이 될 수 있습니까? 왜냐하면 모든 행이 작은 파일을 Excel에서 잘 작동합니다. 그러나 거의 2000 개의 행을 가진 Excel 파일을 변환하려고 시도했을 때이 오류가 발생했습니다.
[업데이트]를
이 코드입니다 :
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()
그리고 이것은 역 추적입니다 :
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)
코드와 전체 추적을 보여주십시오. 스프레드 시트 크기가 원인이 아닙니다. –
@MartijnPieters : 방금 코드와 추적을 업데이트했습니다. 감사. – Cacheing