将Excel转换为CSV python
我正在使用xlrd将.xls Excel文件转换为CSVfile文件,但当我试图打开工作簿时,程序发送错误消息时崩溃将Excel转换为CSV python,python,Python,我正在使用xlrd将.xls Excel文件转换为CSVfile文件,但当我试图打开工作簿时,程序发送错误消息时崩溃 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_e
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打开excel文件时,程序立即崩溃。打开工作簿(“excel文件”)我将使用
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
,以下是前面问题的答案:
答案适用于openpyxl和xlrd。您使用的是什么版本的xlrd,以及什么类型的Excel文件(xls vs xlsx)?是转换文件时出错,还是在尝试打开文件时转换后出错?Dan-我使用的xlrd版本是1.0.0,我使用的是.xls。当我尝试使用xlrd.open_工作簿(excelfile)时,转换文件时会出现错误。我意识到错误是,即使文件以.xls的名称保存,它实际上是一个以制表符分隔的文件,我需要将其保存为xls文件,然后一切正常。。非常感谢。