如何将字典写入CSV:公司名单独占格,每个URL各占单元格
解决字典转CSV时URL单独占单元格的问题
问题描述
有一个格式为{公司名称1: [url1,url2,url3], 公司名称2: [url1,url2,url3]}的字典,需要写入CSV文件时,每行第一个单元格为公司名称,后续每个单元格分别存放单个URL。当前代码会将所有URL作为整体存入同一单元格,需修改实现预期格式。
原代码问题
原代码中writer.writerow([key, value])将value(URL列表)作为单个元素传入,CSV写入器会把整个列表转换成带[]和''的字符串,放入同一单元格,不符合需求。
修改后的代码
import csv # 示例字典,替换为你的contact字典 contact = { "公司名称1": ["url1", "url2", "url3"], "公司名称2": ["url1", "url2", "url3"] } with open('dict.csv', 'w', newline='', encoding='utf-8') as csv_file: writer = csv.writer(csv_file) for key, value in contact.items(): # 合并公司名称与URL列表为扁平列表,实现每个元素单独占单元格 writer.writerow([key] + value)
关键说明
[key] + value将单个公司名称与URL列表合并成新的扁平列表,writerow会把列表中每个元素分别写入不同单元格,自动去除列表的[]和元素的''。- 添加
newline=''避免Windows系统下CSV出现多余空行。 - 指定
encoding='utf-8'确保中文公司名称不会乱码。
预期CSV格式
每行内容如下(单元格自动分隔):
公司名称1,url1,url2,url3
公司名称2,url1,url2,url3
内容的提问来源于stack exchange,提问作者pandasandnumpy
相关产品推荐
相关产品推荐

