xlrd
을 사용하여 Excel에서 일부 데이터를 읽으려고합니다. 시그마, 파이 등의 특수 문자가 포함 된 셀이 있습니다. 하지만 xlrd
은 나를 UnicodeEncodeError
라고합니다.Python XLRD 모듈이 일부 ASCII 문자에 대해 ValueError를 제공합니다.
이 내 엑셀 파일입니다
이 내가 사용하는 코드입니다 :
import xlrd
if __name__ == '__main__':
wb = xlrd.open_workbook('test.xlsx')
s = wb.sheet_by_name('test')
for row in range(1, s.nrows):
values = {}
for column in range(s.ncols):
values.update({s.cell(0, column).value: str(s.cell(row, column).value)})
print values
가 그리고 이것은 출력 : 어떻게해야합니까
{u'formula': 'a + b * 15', u'name': 'test1'}
Traceback (most recent call last):
File ".\testXLRD.py", line 21, in <module>
values.update({s.cell(0, column).value: str(s.cell(row, column).value)})
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2211' in position 0: ordinal not in range(128)
??
내 추측 : 값을'str()'으로 캐스팅하고 있습니다. 파이썬은 ascii (기본값)를 사용하여 문자열을 디코딩합니다. 's.cell (row, column) .value'의 반환 값은 무엇입니까 ?? – Mathias
Sebastien의 답변에 남긴 의견을 확인하십시오. –