使用Pandas读取CSV时长字符串被截断的问题求助
解决CSV长字符串读取截断问题
核心原因
你遇到的不是显示截断,而是读取CSV时就被截断——pandas默认依赖的C解析引擎对字段长度有隐性限制,或者CSV文件里的长字符串未正确加引号导致解析错误。
具体解决步骤
先解除CSV模块的字段长度限制
导入csv和sys模块,先提升字段大小上限,再读取文件:import pandas as pd import csv import sys # 提升CSV字段长度限制到系统最大值 csv.field_size_limit(sys.maxsize) # 读取CSV文件 df = pd.read_csv('你的文件路径.csv')指定Python解析引擎+强制引号规则
如果上面的方法无效,改用Python引擎读取,同时强制识别所有带引号的字段:df = pd.read_csv( '你的文件路径.csv', engine='python', quoting=csv.QUOTE_ALL, keep_default_na=False )注:
quoting=csv.QUOTE_ALL会确保所有带引号的单元格被完整解析,keep_default_na=False避免把长字符串里的特殊字符误判为缺失值。验证数据完整性
不要靠print判断,直接统计字符串长度确认:# 查看目标列的最大字符串长度 print(df['目标列名'].str.len().max())如果输出的长度符合你的预期,说明数据已经完整读取,之前的截断只是终端显示限制(和
display.max_colwidth无关,终端本身有输出长度限制)。导出时避免再次截断
导出CSV时同样指定引号规则,防止长字符串被截断:df.to_csv('导出文件路径.csv', quoting=csv.QUOTE_ALL, index=False)
内容的提问来源于stack exchange,提问作者Willy
相关产品推荐
相关产品推荐

