Mình bị lỗi khi print giá trị của 01 cell trong file Excel 2010 bằng Python.
Ở đây mình sử dụng openpyxl là library để xử lý file excel. Đã mở đc file, lấy được sheet name và bây giờ muốn lấy giá trị của 1 cell (đầu vào cho trước) và modify đó.
Nhưng khi print giá trị cell thì bị lỗi do type(cell) là unicode. Bạn nào đã dùng qua lib này thì hướng dẫn mình với ?
from openpyxl import load_workbook
import warnings
warnings.filterwarnings(“ignore”)
wb = load_workbook(“E:\VS Code - Python\Tmp\CR_template.xlsx”)
print type(wb)
print wb.get_sheet_names()
sheet = wb.get_sheet_by_name(“Sheet1”)
print type(sheet)
print sheet
print sheet.titleprint type(sheet[‘B6’].value)
print sheet[‘B6’].value.decode(‘unicode’)
Output lỗi :
<class ‘openpyxl.workbook.workbook.Workbook’>
[u’KBTD’, u’Nhap du lieu’]
class ‘openpyxl.worksheet.worksheet.Worksheet’
Worksheet “Sheet1”
Sheet
<type ‘unicode’>
Traceback (most recent call last):
File “e:\VS Code - Python\Tmp\test.2.py”, line 19, in
print sheet[‘B6’].value
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xe3’ in position 3: ordinal not in range(128)
Edited : Bổ sung thêm cell B6 dùng chuỗi Unicode