如何正确读取含千位分隔符逗号的逗号分隔CSV文件
解决CSV千位分隔符导致的pandas解析问题
你遇到的核心问题是:CSV中带千位分隔符的数值(如"1,260")被读取为字符串类型,无法直接作为数值使用。以下是两种实用解决办法:
方法一:读取时直接解析千位分隔符
pandas的read_csv自带thousands参数,指定千位分隔符为逗号后,会自动将带分隔符的字符串转换成数值,同时正确识别带引号的字段:
import pandas as pd df_customer_list = pd.read_csv("Customer_list 09.01.2024.csv", sep=',', thousands=',')
这样第三列会直接以整数/浮点数类型加载,无需后续转换。
方法二:读取后手动处理字符串列
如果第一种方法因特殊格式不生效,可以先读取原始数据,再对目标列做替换和类型转换:
import pandas as pd df_customer_list = pd.read_csv("Customer_list 09.01.2024.csv", sep=',') # 替换列中的逗号并转为数值类型,需将'value'替换为实际列名 df_customer_list['value'] = df_customer_list['value'].str.replace(',', '').astype(int)
如果列中存在缺失值或异常格式,建议用pd.to_numeric处理,避免转换报错:
df_customer_list['value'] = pd.to_numeric(df_customer_list['value'].str.replace(',', ''), errors='coerce')
内容的提问来源于stack exchange,提问作者crawlers
相关产品推荐
相关产品推荐

