将Excel转换为CSV python

时间:2016-07-26 15:40:57

标签: python

我正在使用xlrd将我的.xls Excel文件转换为CSV文件但是当我尝试打开工作簿时,我的程序崩溃发送错误消息

bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8])
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xlrd/book.py", line 1224, in bof_error
    raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found 'Chrom\tPo'

Chrom\tPo是我的Excel文件标题的一部分,但我不明白Excel文件的错误以及如何更改它。

当我尝试使用xlrd.open_workbook打开excel文件时程序崩溃(' Excel文件')

2 个答案:

答案 0 :(得分:0)

我会使用openpyxl

import openpyxl
wb = openpyxl.load_workbook(file_name)
ws = wb.worksheets[page_number]
table = []
for row_num in range(ws.get_highest_row()):
  temp_row = []
  for col_num in range(ws.get_highest_column()):
    temp_row.append(ws.cell(row=row_num, col=col_num).value)
  table.append(temp_row[:])

这将为您提供工作表的内容作为二维列表,然后您可以将其写出到csv或按照您的意愿使用。

如果您因任何原因而遇到xlrd,您可能只需要将文件从xls转换为xlsx

答案 1 :(得分:0)

以上是上一个问题的答案:How to save an Excel worksheet as CSV from Python (Unix)?

答案取决于openpyxl和xlrd。