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

Python中将CSV输出拆分为多行而非长字符串的技术问询

解决网页抓取结果写入CSV多行的问题

看起来你是直接把抓取到的列表转成字符串写入CSV了,才会出现整串内容挤在一行的情况。用Python标准库的csv模块就能轻松搞定,它会帮你自动处理换行、分隔符和引号的问题,完美生成每行一条记录的CSV文件。

具体步骤&代码示例:

  1. 先清理原始数据:你的列表元素都带着多余的双引号(比如"FULIAN..."),先把这些引号去掉,避免写入CSV时重复添加。
  2. 确保数据一一对应:注意你的示例里SUPP_YEARS比SUPP_NAME多一个元素,这大概率是抓取时的小失误,先修正成两组数据长度一致(如果实际业务就是有不匹配的情况,得单独调整逻辑)。
  3. 用csv.writer逐行写入:这个方法会自动帮你拆分数据为多行,而不是把整个列表拼成一个长字符串。
import csv

# 你的原始抓取数据
SUPP_NAME = ['"FULIAN\u0020\u0028M\u0029\u0020SENDIRIAN\u0020BERHAD"', '"RISO\u0020SEKKEN\u0020SDN.\u0020BHD."', '"NATURE\u0020PROFUSION\u0020SDN.\u0020BHD."']
SUPP_YEARS = ['"9"', '"4"', '"1"']  # 修正为和名称列表长度一致

# 清理数据:去掉多余的双引号,转义空格会自动还原成正常空格
cleaned_names = [name.strip('"') for name in SUPP_NAME]
cleaned_years = [year.strip('"') for year in SUPP_YEARS]

# 写入CSV文件
with open('suppliers.csv', 'w', newline='', encoding='utf-8') as csv_file:
    # 创建CSV写入对象
    writer = csv.writer(csv_file)
    # 先写入表头(可以换成你需要的表头文字)
    writer.writerow(['Supplier Name', 'Years in Business'])
    # 逐行写入每组供应商数据
    for name, year in zip(cleaned_names, cleaned_years):
        writer.writerow([name, year])

几个关键细节:

  • newline='':避免在Windows系统下写入CSV时出现额外的空行。
  • encoding='utf-8':保证供应商名称里的特殊字符(比如转义空格\u0020)能正确显示,不会乱码。
  • 如果实际业务中两组数据长度确实不一致,建议先排查抓取逻辑,确保每个供应商都对应唯一的经营年限,避免数据错位。

这样生成的CSV文件就是每行一条供应商记录,完全符合你的需求啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:27:42