所以我有一本字典,是在我使用selenium从网站上抓取数据后创建的.

字典的格式预览也是如此.我印了这本词典,它很好用.

{'Website A': [apple,orange,pear], 'Website B': [apple,watermelon], 'Website C': [orange,pear]}

下面是我try 写入csv的代码.我知道writerow需要某种形式的操作,但我应该如何配置,使我的列表正确反映每个网站?我试图压缩字典值,但它似乎无法正确显示数据.website_names是与词典中的关键字相同的网站名称列表.

with open('test.csv', 'w',  newline = '') as csvfile:
cols = website_names
writer = csv.DictWriter(csvfile, fieldnames = cols, delimiter =';', extrasaction='ignore')
writer.writeheader()
writer.writerow(final_dict.keys())
writer.writerows(zip(*final_dict.values()))

这是我希望数据写入csv文件的方式.

Website Data
Website A apple, pear, orange
Website B apple, watermelon
Website C orange, pear

但这就是它现在的显示方式,所有内容都被分为两行.

Website A ; Website B; Website C
[apple,pear,orange];[apple,watermelon];[orange,pear]

感谢您的帮助!

推荐答案

这是你需要的吗?(参考csv doc):

>>> a={'Website A': ['apple', 'orange', 'pear'], 'Website B': ['apple', 'watermelon'], 'Website C': ['orange', 'pear']}
>>> cols = ['Website', 'Data']
>>> f=[]
>>> for i in a:
...     f.append({cols[0]: i, cols[1]: a[i]})
... 
>>> with open('test.csv', 'w', newline='') as csvfile:
...     writer = csv.DictWriter(csvfile, fieldnames=cols)
...     writer.writeheader()
...     writer.writerows(f)

Python相关问答推荐

使用mySQL的SQlalchemy过滤重叠时间段

大Pandas 胚胎中产生组合

如何将Docker内部运行的mariadb与主机上Docker外部运行的Python脚本连接起来

基于字符串匹配条件合并两个帧

Python中绕y轴曲线的旋转

为什么抓取的HTML与浏览器判断的元素不同?

我想一列Panadas的Rashrame,这是一个URL,我保存为CSV,可以直接点击

Python脚本使用蓝牙运行在Windows 11与raspberry pi4

isinstance()在使用dill.dump和dill.load后,对列表中包含的对象失败

Polars asof在下一个可用日期加入

try 检索blob名称列表时出现错误填充错误""

巨 Python :逆向猜谜游戏

pandas fill和bfill基于另一列中的条件

BeautifulSoup:超过24个字符(从a到z)的迭代失败:降低了首次深入了解数据集的复杂性:

如何在Python中将超链接添加到PDF中每个页面的顶部?

在第一次调用时使用不同行为的re. sub的最佳方式

Pandas 删除只有一种类型的值的行,重复或不重复

PYODBC错误(SQL包含-26272个参数标记,但提供了235872个参数,HY 000)

如何通过函数的强式路径动态导入函数?

`Convert_time_zone`函数用于根据为极点中的每一行指定的时区检索值