[英]read Chinese character from excel file python3
我有一個包含兩列的Excel文件,第一列是中文,第二列只是一個鏈接。 我嘗試了兩種在這里找到的方法。 但是它不起作用,並且我無法在控制台中打印該值,我將設置(pycharm)中的編碼變量更改為U8,但仍然不起作用。 我使用了Pandas和xlrd庫,但對於其他發布者卻沒有起作用。 這是我當前的代碼:
from xlrd import open_workbook
class Arm(object):
def __init__(self, id, dsp_name):
self.id = id
self.dsp_name = dsp_name
def __str__(self):
return("Arm object:\n"
" Arm_id = {0}\n"
" DSPName = {1}\n"
.format(self.id, self.dsp_name))
if __name__ == '__main__':
wb = open_workbook('test.xls')
for sheet in wb.sheets():
print(sheet)
number_of_rows = sheet.nrows
number_of_columns = sheet.ncols
items = []
rows = []
for row in range(1, number_of_rows):
values = []
for col in range(number_of_columns):
value = str(sheet.cell(row, col).value)
for a in value:
print('\n'.join([a]))
values.append(value)
print(value)
for item in items:
print (item)
print("Accessing one single value (eg. DSPName): {0}".format(item.dsp_name))
print
顯然它沒有用,我只是放棄了而已。 文件: http : //www59.zippyshare.com/v/UxITFjis/file.html
這與編碼無關,您無法訪問正確的行。
上線24
for row in range(1, number_of_rows):
為什么要從1而不是0開始。
嘗試for row in range(number_of_rows):
好吧,我的問題實際上不是在閱讀漢字! 我的問題是在控制台中打印。 我以為打印編碼器可以正常工作,但我只是沒讀過字符,但是這段代碼可以正常工作:
from xlrd import open_workbook
wb = open_workbook('test.xls')
messages = []
links = []
for sheet in wb.sheets():
number_of_rows = sheet.nrows
number_of_columns = sheet.ncols
for row in range(1, number_of_rows):
i = 0
for col in range(number_of_columns):
value = (sheet.cell(row,col).value).encode('gbk')
if i ==0:
messages.append(value)
else:
links.append(value)
i+=1
print(links)
要檢查它,我將第一個結果粘貼到selenium驅動程序中(因為無論如何我都會使用它)
element = driver.find_element_by_class_name('email').send_keys(str(messages[0],'gbk'))
它就像一個煙囪!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.