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

如何处理CSV文件与Pandas DataFrame的行数差异问题?

Pandas加载CSV行数与Excel不一致的解决方法

可能的原因

Pandas与Excel行数差异最常见的原因是CSV字段中嵌入了换行符(比如字段内容包含\n或\r\n)。Pandas默认读取逻辑会将这些嵌入换行符识别为新行分隔符,导致加载行数远少于Excel解析的行数;而Excel会正确解析带引号包裹的字段内容,忽略内部的换行符。

解决代码

1. 修正CSV读取逻辑

调整pd.read_csv的参数,让它正确处理带引号的字段和嵌入换行符:

import pandas as pd

# 使用python引擎+全引号解析模式,处理包含嵌入换行符的CSV
df = pd.read_csv('C_data_2.csv', quoting=pd.QUOTE_ALL, engine='python')

# 验证加载行数,确认与Excel一致
print(f"加载行数:{len(df)}")

如果CSV中使用了转义字符(比如用\转义引号),可以额外添加escapechar参数:

df = pd.read_csv('C_data_2.csv', quoting=pd.QUOTE_ALL, engine='python', escapechar='\\')

2. 优化Gender列缺失值填充

你原有的缺失值填充逻辑可以简化,同时覆盖NaN和字符串类型的"nan":

# 获取Gender列出现频率最高的有效值
most_common = df['Gender'].value_counts().index[0]

# 统一替换所有缺失形式为最常见值
df['Gender'] = df['Gender'].replace(['nan', pd.NA], most_common)

3. 导出验证

处理完成后导出新的CSV,再用Excel打开核对行数:

# 导出处理后的数据集(不包含索引列)
df.to_csv('C_data_2_fixed.csv', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:45:41