gpt4 book ai didi

python - 列表字典 : writing lists (with tab separated items) to different files for each key (Python)

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:06 24 4
gpt4 key购买 nike

我有一本包含列表的字典;键基于每个列表中的第一项。使用有趣的随机数据集,字典构建如下:

import collections

rand_ls = [["A","bb","cc"],["B","dd","ee"],["A","ff","gg"],["B","hh","ii"]]
d = collections.defaultdict(list)

for item in rand_ls:
d[item[0]].append(item)

print(dict(d))
# {'A': [['A', 'bb', 'cc'], ['A', 'ff', 'gg']], 'B': [['B', 'dd', 'ee'], ['B', 'hh', 'ii']]}

我想将每个键中包含的列表写入单独的 .csv 文件,每个键一个。我找到的最接近的解决方案是详细的 here ,但我无法让它工作。我追求的格式:

letterA.csv
A bb cc
A ff gg

letterB.csv
B dd ee
B hh ii

注意:letter{}.csv 是每个 key 的唯一文件;每个列表(在每个键内)都在单独的一行上,并且列表中的每个项目都由制表符分隔。

我的代码是这样的:

for key,lists in d.items():
with open("letter{}.csv".format(key), "w") as f:
f.writelines(lists, delimiter='\t')

它不断抛出错误:"TypeError: writelines() takes no keyword arguments"。我读过一些书,我知道 writelines() 需要一系列字符串,所以不太确定缺少什么。

根据我在别处读到的内容,代码 open("letter{}.csv".format(key), "w") 应该为每个键创建一个唯一的文件,并且后续行应指示将列表写入适当的文件。

最佳答案

正常的 file.write 没有关键字参数,您可能会感到困惑,应该使用 csv module它确实采用 delimiter 参数,遍历 d.items,将 k 键传递给 str.formatcsv.writer.writerows 的列表列表。

import csv

for k, rows in d.items():
with open("letter_{}.csv".format(k), "w") as out:
wr = csv.writer(out,delimiter='\t')
wr.writerows(rows)

LetterA.csv:

A   bb  cc
A ff gg

LetterB.csv:

B   dd  ee
B hh ii

关于python - 列表字典 : writing lists (with tab separated items) to different files for each key (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30236112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com