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

xlsx转csv时空单元格NaN未写入问题求助(Python Pandas)

解决Pandas导出CSV时保留NaN的问题

嘿,这个问题我太熟悉了!你控制台里能看到NaN,但导出CSV后变成空单元格,是因为Pandas默认会把缺失值(NaN)导出为空字符串,而不是把"NaN"这个文本写进去。只需要调整to_csv()的参数就能搞定。

具体解决方案:

  • 首先,读取Excel的代码可以微调下,Windows路径建议用原始字符串(加个r前缀),避免转义字符的坑:
    df = pd.read_excel(r'C:\Users\1480587\Documents\Chander\Elastic\Data\Dec_Inc_Data.xlsx')
    
  • 导出CSV时,一定要加上na_rep='NaN'参数,这个参数就是指定缺失值要替换成的字符串:
    # 导出CSV,保留NaN为字符串,同时可选去掉行索引(index=False)
    df.to_csv('your_output_file.csv', na_rep='NaN', index=False)
    

关键参数解释:

  • na_rep='NaN':强制Pandas把DataFrame里的所有NaN值,替换成"NaN"字符串写入CSV文件,这样空单元格就会显示你想要的"NaN"了。
  • index=False:如果不需要导出默认的行索引列,可以加上这个参数,让CSV更干净,按需选择就行。

验证方法:

导出完成后,你可以直接打开CSV文件查看,或者用Pandas再读回来确认:

test_df = pd.read_csv('your_output_file.csv')
print(test_df)

这时候你会看到空单元格已经显示为"NaN"了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:13:46