我正在从 Excel 电子表格中读取大量数据,在该电子表格中,我使用以下一般结构从电子表格中读取(并重新格式化和重写):
book = open_workbook('file.xls')
sheettwo = book.sheet_by_index(1)
out = open('output.file', 'w')
for i in range(sheettwo.nrows):
z = i + 1
toprint = """formatting of the data im writing. important stuff is to the right -> """ + str(sheettwo.cell(z,y).value) + """ more formatting! """ + str(sheettwo.cell(z,x).value.encode('utf-8')) + """ and done"""
out.write(toprint)
out.write("\n")
在这种情况下,x 和 y 是任意单元格,其中 x 不那么任意并且包含 utf-8 字符
到目前为止,我只在我知道会有错误的单元格中使用 .encode('utf-8') ,或者在不使用 utf-8 的情况下预见错误。
我的问题基本上是这样的:在所有单元格上使用 .encode('utf-8') 是否有缺点,即使它是不必要的?效率不是问题。主要问题是,即使在不应该存在的地方有 utf-8 字符,它也能正常工作。如果我只是将“.encode('utf-8')”集中到每个读取的单元格上就不会发生错误,我可能最终会这样做。