Python 中的 XLRD 不会像在 Excel 中看到的那样读取文件



我有几个文件在Excel中打开时看起来是一样的,但只有一些文件可以用xlrd正确读取。代码如下:

import xlrd
book = xlrd.open_workbook(path)
sheet = book.sheet_by_index(0) # only 1 sheet in the file
for i in range(0, sheet.nrows):
line = sheet.row_values(i)
print line
...

对于好的文件,这是打印的:

[u'ATP', u'Location', u'Tournament', u'Date', u'Series', u'Court', u'Surface', u'Round', u'Best of', u'Winner', u'Loser', u'WRank', u'LRank', u'WPts', u'LPts', u'W1', u'L1', u'W2', u'L2', u'W3', u'L3', u'W4', u'L4', u'W5', u'L5', u'Wsets', u'Lsets', u'Comment', u'B365W', u'B365L', u'EXW', u'EXL', u'LBW', u'LBL', u'SJW', u'SJL', u'UBW', u'UBL']

对于坏的:

[u'ATP', u'Start Date', u'Tournament', u'Venue', u'Location', u'Series', u'Court', u'Surface', u'Players']

同样,行在 excel 中看起来完全相同,但在 python 中读取不同(第一个输出是正确的)。有没有办法正确阅读它?

解决方案:将所有内容复制粘贴到一个新的空白文件中并从那里读取,出于某种原因,这有效。

观察:"坏"数据中只有 9 列标题。其中三个(开始日期、场地和球员)不会出现在"良好"数据中。

建议:每个"坏"文件包含两张纸,第一张是"坏",第二张是"好"。Excel 应显示活动("良好")工作表。

如果这不能解释您的问题,请考虑使示例文件可供检查。

最新更新