python - Pandas:解析损坏的 .xls 文件
问题描述
我正在使用 pandas 读取 .xls 文件并将表格提取到 df 中。(我可以用 Excel 打开它,但它给了我一个弹出窗口:无法访问 .xls 文件。该文件可能已损坏,位于服务器上没有响应,或只读异常。)。
一般属性其 Microsoft Excel 97-2003 工作表 (.xls)
代码:
import os, sys
import pandas as pd
from os import walk
file_path = os.path.dirname(os.path.abspath(__file__))
excels = [pd.read_excel(name) for name in file_path]
df = [x.parse(x.sheet_names[0], header=None,index_col=None) for x in excels] #Error
df.to_excel("Final.xls", header=False, index=False)
错误:
pd.ExcelFile(name) :
raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'\xc1\xc5 \t\xc7\xed\xcf'
or (with rea_html)
File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\html.py", line 545, in _parse_tables
raise ValueError("No tables found")
ValueError: No tables found
但是,正如错误消息所说,文件的前 8 个字节是 '\xc1\xc5' ...这绝对不是 Excel .xls 格式...
有什么方法可以处理这些文件吗?
解决方案
虽然我对这些 Pandas 东西很陌生;我意识到的第一件事是下面有一个语法错误。它应该是“pd.read_excel”。
excels = [pd.read_exel(name) for name in file_path]
我能说的第二件事是;“pd.read_html()”可以读取损坏的 xls 文件。我希望它有所帮助。
推荐阅读
- java - 错误 java.lang.ArrayIndexOutOfBoundsException
- c# - 在 Visual Code (C#) 中为学校项目添加 XML 文档注释文件
- angular - Angular 7 上的虚拟滚动不可见 - 默认情况下高度为零
- react-native - 使用 React Native 复制权限 AndroidManifest.xml
- report - 如何仅在发票报告的每个发票页面中打印发票参考?
- javascript - 子组件不使用 React Router v4 渲染
- laravel - 如何修复 xampp 虚拟主机中的“ERR_CONNECTION_TIMED_OUT”异常
- java - 如何制作自定义适配器?
- xcode - 在 Windows 中使用 xcode 安装 MAC os 的性能
- gcc - CUDA:修改 CMake 导致链接错误