1

当我试图从 xlsx 文件中提取数据时。我也得到了数据的编码细节。

考虑如下所示的代码,

column_number = 0
column_headers = []
#column_headers = sheet.row_values(row_number)
while column_number <= sheet.ncols - 1:
    column_headers.append(sheet.cell(row_number, column_number).value)
    column_number+=1

return column_headers

输出是,

[u'Rec#', u'Cyc#', u'Step', u'TestTime', u'StepTime', u'Amp-hr', u'Watt-hr', u'Amps', u'Volts', u'State', u'ES', u'DPt Time', u'ACR', u'DCIR']

我只想提取单元格值,它是没有附加“u”的数据。我怎么能得到那个?

4

2 回答 2

0

您可以使用字符串编码unicodeascii. 所以你更新的代码应该是

column_headers.append((sheet.cell(row_number, column_number).value).encode('ascii','ignore'))

您可以通过使用data.value字段名称的内容来获取值。另请注意,默认情况下integers导入floats。因此,您可以在最后添加一个附加.0项,您可以通过使用int(data.value).

于 2013-10-04T01:28:57.937 回答
0

您是否尝试过以下方法:

print data.value

在新代码中你可以试试这个:

import unicodedata
...
output = []
for cell in column_headers:
    output.append(unicodedata.normalize('NFKD', cell))
return output

请参阅此以获取更多信息:https ://stackoverflow.com/a/1207479/2168278

于 2013-10-04T01:14:32.793 回答