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

如何将含逗号的文本文件转换为单列CSV文件(解决Pandas ParserError问题)

解决文本文件转单列CSV的ParserError问题

我来帮你搞定这个问题!你碰到的ParserError根源很明确:pd.read_csv()默认把逗号当作列分隔符,但你的文本里不少行(比如第9行的“再就业保障举措,包括再培训、异地安置、工作分享和离职安置服务”)包含逗号,导致pandas误以为这一行有多个列,和第一行的列数不匹配,直接抛出了解析错误。

下面给你两种靠谱的解决方案,任选其一就能解决问题:

方法一:直接读取每行(推荐,更直观)

这种方法跳过pandas的CSV解析逻辑,直接读取文本的每一行,再转成单列DataFrame,完全避免分隔符冲突:

# 先读取文本文件的所有行,清理空行和首尾空格
with open("ESG_BENEFITS.txt", "r", encoding="utf-8") as f:
    benefits_list = [line.strip() for line in f if line.strip()]

# 导入pandas并创建单列DataFrame
import pandas as pd
df = pd.DataFrame(benefits_list, columns=["ESG_Benefits"])

# 导出为CSV文件,去掉索引
df.to_csv("ESG_BENEFITS.csv", index=False, encoding="utf-8")

方法二:修正pandas的read_csv参数

如果一定要用pd.read_csv,可以通过指定特殊参数让pandas把整行当作单个字段:

import pandas as pd
# 使用python引擎,指定一个不会出现在文本中的分隔符(比如空字符\0),同时关闭引号解析
esg_benefits = pd.read_csv(
    "ESG_BENEFITS.txt",
    header=None,
    sep="\0",  # 用空字符当分隔符,确保不会拆分行内容
    engine="python",
    quoting=3  # QUOTE_NONE,不解析任何引号
)
# 给单列命名
esg_benefits.columns = ["ESG_Benefits"]
# 导出CSV
esg_benefits.to_csv("ESG_BENEFITS.csv", index=False, encoding="utf-8")

两种方法最终都会生成一个单列CSV,每一行对应原文本的一条记录,完美解决逗号导致的解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 02:22:37