当我运行itertools并将其转换为列表时,我会得到不同的列表,如
[0, 0]
[0, 1]
[1, 0]
[1, 1]
如何将所有这些存储在一个csv文件中? 当我试图存储这个
时import itertools
import pandas as pd
filename = 'BinFile.csv'
data = pd.read_csv(filename, header=None).iloc[:, 0].values.tolist()
for a, b in itertools.product(data, data):
data1=(a,b)
data2=list(data1)
print(data2)
df = pd.DataFrame(data2)
df.to_csv('list1.csv', index=False)
在我导出csv后得到输出后,它只显示最后一个值
1
1
我试图像
那样存储0 0
0 1
1 0
1 1
答案 0 :(得分:0)
原因是你写了每个df(覆盖了以前的值)。试试这个:
dfs = pd.DataFrame()
for a, b in itertools.product(data, data):
temp = [a, b]
dfs.append(pd.DataFrame(temp))
dfs.to_csv('list1.csv', index=False)
我将dfs
容器从循环中取出,因此每次迭代我们都会创建一个临时列表,然后将该列表附加到集合中。
在for循环之外,我们将整个容器数据写入csv。