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

如何在Python中读写CSV与DataFrame时保留字符串“None”

解决Pandas读取CSV时保留字符串"None"的问题

Pandas默认会把CSV里的字符串"None"解析成空值(NaN),写入CSV时就变成了空白字段。要让输出文件和原CSV完全一致,只需在读取阶段调整参数:

方法一:禁用默认空值识别

在调用pd.read_csv()时添加keep_default_na=False参数,这样Pandas不会将任何默认的标识字符串(包括"None")当作空值处理:

import pandas as pd

filename = "testdata.csv"
data_file = "testoutput.csv"

# 读取时保留所有原始字符串,不自动转换"None"为空值
user_df = pd.read_csv(filename, keep_default_na=False)
user_df.to_csv(data_file, index=False)

方法二:自定义空值范围(更灵活)

如果需要保留其他空值标识(比如空字符串),但单独保留"None"作为普通字符串,可以用na_values指定仅将特定值识别为空值:

import pandas as pd

filename = "testdata.csv"
data_file = "testoutput.csv"

# 仅把空字符串视为空值,"None"保持原样
user_df = pd.read_csv(filename, na_values=[''])
# 写入时空值用空字符串表示,匹配原文件格式
user_df.to_csv(data_file, index=False, na_rep='')

运行修改后的代码,生成的testoutput.csv会和原testdata.csv内容完全一致:

Membership number,Last name,Date of birth,Status,Color
240200,,Wilson,None,Red

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:52:19