【发布时间】:2021-05-04 02:44:26
【问题描述】:
假设 mydict 对于每个列表项都是唯一的:
mylist = ['li1', 'li2']
mydict = {'key1': 'value1','key2': 'value2','key3': 'value3}
我想把这个结构写在一个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) #25
dict['y'] = random.randrange(1, li) #27
print(dict)
return dict
mylist = [10, 20, 30]
for li in mylist:
mydict = CreateDict(li)
df = pd.DataFrame([mydict])
df.to_csv('test.csv', index=False)
我得到这个作为输出:
x,y
25,27
【问题讨论】:
-
在 for 循环中,每次迭代都会覆盖数据框和 csv 文件。因此,数据框和 csv 文件将仅包含在循环的最后一次迭代中创建的 dict。
标签: python pandas list csv dictionary