pandas里打开无法恢复的名为15day.xlsx文件,获取里面没有损坏的数据的代码
时间: 2024-09-08 13:04:04 浏览: 80
如果你确定`15day.xlsx`文件虽然无法完全恢复,但是部分数据仍然是可用的,你可以使用`pandas`的`read_excel`函数配合一些错误处理策略来尽可能地加载数据。以下是一个示例代码:
```python
import pandas as pd
from io import StringIO
try:
# 尝试读取原始Excel文件
with pd.ExcelFile('15day.xlsx') as file:
sheet_names = file.sheet_names
data_frames = {sheet_name: file.parse(sheet_name) for sheet_name in sheet_names}
# 检查是否有解析成功的数据
valid_dataframes = [df for df in data_frames.values() if not df.empty]
if valid_dataframes:
# 合并所有非空数据帧
merged_df = pd.concat(valid_dataframes, ignore_index=True)
print(f"成功加载了部分数据:{merged_df.head()}")
else:
print("所有数据都已损坏,无法提取有效数据")
except FileNotFoundError:
print("文件 '15day.xlsx' 未找到")
except pd.errors.EmptyDataError:
print("文件可能是空的,或者所有数据都已损坏")
except pd.errors.ParserError:
print("解析文件时发生错误,可能数据损坏严重")
except Exception as e:
print(f"未知错误发生:{e}")
```
这段代码首先尝试打开文件,然后对每个工作表单独解析,过滤掉那些数据为空的 DataFrame。最后,如果有任何非空数据,它们会被合并到一起。如果没有数据可以提取,将会告知用户所有数据都已经损坏。
阅读全文