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

使用Python修复含HTML内容且格式损坏的CSV文件

CSV文件格式修复方案

问题背景

CSV文件包含HTML代码,部分行中的HTML特殊字符(如逗号、引号)破坏了CSV格式,导致无法正常解析。

已尝试的代码

import csv
with open('csv_problem.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

解决方法

方法1:使用Python标准csv模块修复

通过强制将所有字段用双引号包裹,确保HTML中的特殊字符被正确转义:

import csv

# 读取损坏的CSV文件,指定编码避免乱码
with open('csv_problem.csv', 'r', encoding='utf-8') as in_file:
    # 按默认规则读取,若原文件有特定引号规则可调整quoting参数
    reader = csv.reader(in_file)
    all_rows = list(reader)

# 写入修复后的CSV,强制用双引号包裹所有字段
with open('fixed_csv.csv', 'w', newline='', encoding='utf-8') as out_file:
    writer = csv.writer(out_file, quoting=csv.QUOTE_ALL)
    writer.writerows(all_rows)

方法2:使用pandas处理复杂场景

如果标准csv模块解析异常,pandas提供更灵活的参数适配特殊格式:

import pandas as pd

# 读取时配置参数识别字段边界
df = pd.read_csv(
    'csv_problem.csv',
    sep=',',
    quotechar='"',
    quoting=pd.io.common.QUOTE_ALL,
    encoding='utf-8'
)

# 写入时强制引用所有字段,避免格式破坏
df.to_csv('fixed_csv_pandas.csv', index=False, quoting=pd.io.common.QUOTE_ALL, encoding='utf-8')

核心原理

CSV格式损坏的本质是HTML代码中包含的逗号(分隔符)或引号未被转义,修复时通过统一用引号包裹字段,让解析器能正确区分字段内容与格式符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:35:30