如何为每个列表项制作一个列表和字典的CSV文件?



我有一个list,我基于每个列表项创建了一个dictionary,我想写一个CSV文件如下:

ListItem, key1, key2, key3
li1, value1, value2, value3
li2, value1, value2, value3

这就是我尝试这样做的方式,但是我认为我的代码覆盖了每次迭代的第一行,并且我不知道如何在第一列中输入列表项。你能帮我一下吗?

import pandas as pd
import random

def CreateDict(li):
dict = {}
dict['x'] = random.randrange(1, li)
dict['y'] = random.randrange(1, li)
print(dict)
return dict
mylist = [10, 20, 30]
for li in mylist:
mydict = CreateDict(li)
df = pd.DataFrame([mydict])  # Here
df.to_csv('test.csv', index=False)

我想要这个结构在CSV文件:

LI, x, y
10, 6, 2
20, 10, 14
30, 25, 27

但是我得到这个作为输出:

x,y
25,27

由于您的问题没有明确定义,我将编写一个简单的示例,以您要求的格式从字典创建csv。字典看起来像:

myd = {"k1":["v11","v12"],"k2":["v21","v22"],"k3":["v31","v32"]}

您所需要的只是添加一个索引列(使用reset_index),并将其重命名为您想要的名称:

pd.DataFrame(your_dict).reset_index().rename({"index":"ListItem"}).to_csv("your.csv",index=False)

相关内容

  • 没有找到相关文章

最新更新