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

Pandas导出与导入DataFrame行数不一致问题求助

CSV导出与读取数据不一致问题排查

问题描述

在A代码文件中导出CSV后,DataFrame内容为:

A col
-----
0 10
-----
1 10
-----

但在B代码文件中读取该CSV时,得到的DataFrame数据不符:

B col
----
0 10
----
1 5
----

预期读取结果应为两行数据均为10:

B col
----
0 10
----
1 10
----

已确认A文件中的原始数据无误,但读取后出现数据不一致,使用的代码如下:

# A文件导出代码
dfA.to_csv("df.csv", index=False)

# B文件读取代码
dfB = pd.read_csv("df.csv")

可能原因及解决方法

  • 文件写入未完成就读取:to_csv执行后,数据可能还在内存缓存中,未完全写入磁盘就被B文件读取。可以在A文件中确保写入完成后再执行B文件,或者强制刷新写入:
    dfA.to_csv("df.csv", index=False, mode='w', flush=True)
    
  • 工作目录不一致:A和B文件可能处于不同的工作目录,导致读取的不是同一个df.csv。可以打印当前目录确认:
    import os
    print(os.getcwd())  # 在A、B文件中分别执行,查看路径是否一致
    
    建议使用绝对路径进行读写:
    # A文件
    file_path = os.path.abspath("df.csv")
    dfA.to_csv(file_path, index=False)
    
    # B文件
    dfB = pd.read_csv(file_path)
    
  • 旧文件缓存/覆盖问题:可能存在同名的旧CSV文件,读取时加载了旧数据。可以删除旧的df.csv后重新导出,或者导出时指定mode='w'强制覆盖旧文件。
  • pandas版本或参数差异:不同版本的pandas对CSV读写的默认处理可能不同,比如分隔符、空值解析等。可以明确指定分隔符确保一致:
    dfA.to_csv("df.csv", index=False, sep=',')
    dfB = pd.read_csv("df.csv", sep=',')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 05:52:53