You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

pandas.DataFrame.to_csv未导出全部行问题求助

解决pandas.DataFrame.to_csv导出数据缺失的问题

嘿,这个问题我之前也碰到过类似的,结合你的场景(Python 3.6.5 + pandas 0.22.0,连续大块数据缺失),给你几个实用的排查方向和解决办法:

  • 先确认数据是否真的缺失(而非编辑器显示问题)
    有时候数据里的隐藏换行符(比如\n\r)会让普通文本编辑器误判行数,但实际数据是完整的。你可以用两种方式验证:

    1. 用命令行统计真实行数:Linux/macOS用wc -l filename.csv,Windows用find /c /v "" filename.csv
    2. 用pandas重新读取文件检查:
      df_verify = pd.read_csv('filename.csv')
      print(len(df_verify))
      

    如果读取后的行数和原DataFrame一致,那就是编辑器的显示问题,不用慌。

  • 显式管理文件流,避免缓存未刷新
    旧版本pandas的to_csv有时候会因为缓存未及时刷入磁盘导致数据截断。你可以用with语句手动管理文件对象,确保写入完成后正确关闭:

    with open('filename.csv', 'w', newline='', encoding='utf-8') as f:
        df.to_csv(f, index=False)  # index=False可避免导出额外的索引列
    
  • 升级pandas版本修复旧bug
    你用的pandas 0.22.0是2018年的旧版本,存在不少IO相关的已知bug,包括大文件写入截断的问题。建议升级到稳定的新版本:

    pip install --upgrade pandas
    

    升级后再尝试导出,大概率能解决问题。

  • 检查磁盘剩余空间
    虽然概率不高,但如果保存文件的磁盘空间不足,写入到一半就会停止,导致数据截断。可以右键磁盘查看剩余空间确认。

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

火山引擎 最新活动