Python 使用itertools后以CSV格式保存
当我运行itertools并将其转换为一个列表时,我会得到不同的列表,如Python 使用itertools后以CSV格式保存,python,list,csv,itertools,Python,List,Csv,Itertools,当我运行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 itertool
[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
原因是您写入每个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。原因是您写入每个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。我不知道pandas的情况,但如果您不想删除文件,通常会附加到它们,或者一次性写入所有数据。输入数据似乎足够简单,可以不用pandas写入。我不知道pandas的情况,但如果您不想删除文件,通常会附加到它们,或者一次性写入所有数据。输入数据似乎足够简单,无需熊猫即可写入。