python 将字典写入csv文件,每个键,值对一行,value中的每个元素一个单元格

bvn4nwqk  于 2023-03-28  发布在  Python
关注(0)|答案(2)|浏览(111)

我有一个包含键值对的字典{company name 1:[url 1,url 2,url 3],company name 2:[url 1,url 2,url 3]}.我想这样写,以便在我的CSV文件中的每一行,一个单元格将用于公司名称,同一行上的每个单元格将包含一个URL.到目前为止,我只能将所有URL放入一个单元格中.
这是我迄今为止所尝试的:

with open('dict.csv', 'w') as csv_file:  
    writer = csv.writer(csv_file)
    for key, value in contact.items():
       writer.writerow([key, value])

它在1个单元格中输出公司名称,在相邻单元格中输出['url 1','url 2','url 3']。有没有办法把[]和''也去掉?
我的预期输出是:
公司1网址1网址2网址3
公司2网址1网址2网址3
等等

s3fp2yjn

s3fp2yjn1#

我想这就是你要找的,只要你确定永远会有正好3个网址:

import csv
contact = {"Company": ["test.com", "example.com", "stackoverflow.com"], "Company2": ["test.com", "example.com", "stackoverflow.com"]}
with open('dict.csv', 'w') as csv_file:  
    writer = csv.writer(csv_file)
    for key, value in contact.items():
       writer.writerow([key, value[0], value[1], value[2]])
ar7v8xwq

ar7v8xwq2#

如果一个公司的url数量是可变的,那么你可以做以下事情:

import csv
data = { "company1": ["url1","url2","url3"], "company2": ["url1","url2","url3"]}

with open('dict.csv', 'w') as csv_file:  
    writer = csv.writer(csv_file)

    for key, values in data.items():
       row = []
       row.append(key)
       row.extend(values)
       writer.writerow(row)

相关问题