You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求助:DataFrame保存后无法正确重新导入的解决方法

正确的DataFrame保存与恢复方案

你遇到的问题根源是to_string()生成的是用于展示的格式化文本(包含索引、表头的排版格式),不是结构化的可解析数据,所以read_csv无法正确拆分列。下面是几种适合中断后恢复数据的结构化保存/读取方式:

方案1:CSV格式(推荐,轻量易读)

保存时直接用Pandas的to_csv方法生成标准结构化CSV文件,而非格式化文本:

# 保存数据(index=False避免存储不必要的索引列)
avg_data.to_csv('last_avg_data.csv', index=False)

读取时用read_csv直接解析:

import pandas as pd
# 恢复数据
avg_data = pd.read_csv('last_avg_data.csv')

方案2:Pickle格式(适合复杂数据结构)

如果你的avg_data包含特殊数据类型、多层索引等复杂结构,Pickle能完整保留所有信息:

# 保存
avg_data.to_pickle('last_avg_data.pkl')
# 恢复
avg_data = pd.read_pickle('last_avg_data.pkl')

注意:Pickle是二进制格式,无法直接用文本编辑器查看,但恢复时不会有格式问题。

方案3:JSON格式(跨语言兼容)

如果需要和其他语言交互,JSON是不错的选择:

# 保存(orient='split'确保结构可正确恢复)
avg_data.to_json('last_avg_data.json', orient='split')
# 恢复
avg_data = pd.read_json('last_avg_data.json', orient='split')

中断恢复的实用技巧

每次更新avg_data后立刻保存,启动时先检查保存文件是否存在,存在则恢复,否则初始化:

import pandas as pd
import os

save_file = 'last_avg_data.csv'
# 启动时恢复数据
if os.path.exists(save_file):
    avg_data = pd.read_csv(save_file)
else:
    # 根据你的数据结构初始化空DataFrame
    avg_data = pd.DataFrame(columns=['列名1', '列名2', '列名3'])

# 你的监控与数据处理逻辑
# ...(处理新增文件、更新avg_data的代码)
# 更新后立刻保存
avg_data.to_csv(save_file, index=False)

内容的提问来源于stack exchange,提问作者Data123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:01:04