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

无法向CSV多列写入数据求助:列表数据全部挤入同一列

解决CSV写入时所有数据集中在同一列的问题

你的问题根源有两个:

  • 表头写法错误:你把所有表头用分号拼接成单个字符串放进列表,导致CSV仅识别出一列表头,后续数据自然全部挤在同一列
  • 表头包含salary字段,但all_list里没有对应的薪资数据列表,字段数量不匹配

修正后的代码

from itertools import zip_longest
import csv

# 请确保已定义salary_list,若不需要薪资列则删除该元素及表头对应项
all_list = [job_titles_list, company_list, locations_list, skills_list, salary_list]
ziped = zip_longest(*all_list)

with open('jobs.csv', 'w', newline='') as file:
    # 表头拆分为独立列表元素,每个元素对应一列
    writer = csv.writer(file)
    # 若需用分号作为分隔符,改为:writer = csv.writer(file, delimiter=';')
    writer.writerow(["Job Title", "Company Name", "Location", "Skills", "salary"])
    writer.writerows(ziped)
    # with上下文管理器会自动关闭文件,无需手动调用file.close()

关键修正点说明

  1. 表头拆分:将表头从单个拼接字符串改为独立的列表元素,让csv.writer能识别出多列
  2. 字段匹配:保证表头字段数量和all_list中的数据列表数量一致,要么补充薪资数据,要么删除表头的salary项
  3. 优化文件处理:使用newline=''避免Windows系统下写入CSV出现空行;依赖with语句自动关闭文件,无需手动操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 03:15:48