重新保存后读取xls文件

时间:2018-10-05 15:52:40

标签: python excel

我正在从网站上下载Excel文件。 如果我只是用熊猫打开文件

import pandas as pd
df = pd.read_excel('filepath')

我收到一个错误CompDocError: Workbook corruption: seen[2] == 4

如果我在打开文件之前重新保存文件,则一切正常

import pandas as pd
import win32com.client

def resave_excel(filename):
    xcl = win32com.client.Dispatch('Excel.Application')
    wb = xcl.workbooks.open(filename)
    xcl.DisplayAlerts = False
    wb.Save()
    xcl.Quit()

resave_excel('filepath')
df = pd.read_excel('filepath')

这种方法的问题是我实际上调用Excel应用程序,但这并不是最安全的事情,尤其是当我想以某种自动化的方式运行完整脚本或要在其他平台上运行它时。

我缺少其他方法吗?

1 个答案:

答案 0 :(得分:0)

https://github.com/python-excel/xlrd/issues/149上讨论了我找到的唯一解决方案。

您需要使用xlrd而不是xlrd/compdoc.py并对curl -X PUT -H 'Authorization: Bearer w3KhVblthisisnottoken5LmhlnUorFM8NJMh0' \ https://school.test.instructure.com/api/v1/courses/9066 \ -d 'course[course_code]=holla!' \ -v 进行更改。