Python 如何在循环中将数据帧导出为CSV

Python 如何在循环中将数据帧导出为CSV,python,pandas,export-to-csv,Python,Pandas,Export To Csv,我在10次迭代的循环中分析一些数据,每次迭代代表一个数据集。我已经设法在每次迭代结束时使用pandas创建了一个数据帧,现在我需要使用不同的名称导出每个数据帧。这里是代码的一部分 for t in range(len(myFiles)): DATA = np.array(importdata(t)) data = DATA[:,1:8] Numbers = data[:,0:5] Stars = data[:,5:7] [numbers,repetitio

我在10次迭代的循环中分析一些数据,每次迭代代表一个数据集。我已经设法在每次迭代结束时使用pandas创建了一个数据帧,现在我需要使用不同的名称导出每个数据帧。这里是代码的一部分

for t in range(len(myFiles)):
    DATA = np.array(importdata(t))
    data = DATA[:,1:8]
    Numbers = data[:,0:5]
    Stars = data[:,5:7]
    [numbers,repetitions]=(Frequence(Numbers))
    rep_n,freq_n = (translate(repetitions,data))
    [stars,Rep_s] = (Frequence(Stars))
    rep_s,freq_s = (translate(Rep_s,data))
    DF1 = dataframe(numbers,rep_n,freq_n)
    DF2 = dataframe(stars,rep_s,freq_s)

数据帧DF1和DF2必须在每个循环迭代中以不同的名称分别存储。

您可以创建数据帧列表:

ListDF1, ListDF2 = [], []
for t in range(len(myFiles)):
   ...
   rep_s,freq_s = (translate(Rep_s,data))
   ListDF1.append(dataframe(numbers,rep_n,freq_n))
   ListDF2.append(dataframe(stars,rep_s,freq_s))
然后,对于select DataFrame,请使用索引:

#get first DataFrame
print (ListDF1[0]) 
编辑:如果需要使用不同的文件名导出,请为
DF1_0.csv、DF2_0.csv
使用
t
变量,然后
DF1_1.csv、DF2_1.csv
。。。文件名,因为python从
0
开始计数:

 for t in range(len(myFiles)):
     ...
     DF1.to_csv(f'DF1_{t}.csv')
     DF2.to_csv(f'DF2_{t}.csv')

您可以创建数据帧列表:

ListDF1, ListDF2 = [], []
for t in range(len(myFiles)):
   ...
   rep_s,freq_s = (translate(Rep_s,data))
   ListDF1.append(dataframe(numbers,rep_n,freq_n))
   ListDF2.append(dataframe(stars,rep_s,freq_s))
然后,对于select DataFrame,请使用索引:

#get first DataFrame
print (ListDF1[0]) 
编辑:如果需要使用不同的文件名导出,请为
DF1_0.csv、DF2_0.csv
使用
t
变量,然后
DF1_1.csv、DF2_1.csv
。。。文件名,因为python从
0
开始计数:

 for t in range(len(myFiles)):
     ...
     DF1.to_csv(f'DF1_{t}.csv')
     DF2.to_csv(f'DF2_{t}.csv')

您可以使用datetime的微秒,因为它会有所不同

从日期时间导入日期时间
对于范围内的t(len(myFiles)):
数据=np.数组(导入数据(t))
数据=数据[:,1:8]
数字=数据[:,0:5]
星=数据[:,5:7]
[数字,重复]=(频率(数字))
重复,频率=(翻译(重复,数据))
[星,代表]=(频率(星))
代表,频率=(翻译(代表,数据))
DF1=数据帧(数字、代表、频率)
DF2=数据帧(星型、代表型、频率型)
DF1.to_csv(f'DF1_{datetime.now().strftime('%f')}.csv'))
DF2.to_csv(f'DF2_{datetime.now().strftime('%f')}.csv'))

您可以使用datetime的微秒,因为它会有所不同

从日期时间导入日期时间
对于范围内的t(len(myFiles)):
数据=np.数组(导入数据(t))
数据=数据[:,1:8]
数字=数据[:,0:5]
星=数据[:,5:7]
[数字,重复]=(频率(数字))
重复,频率=(翻译(重复,数据))
[星,代表]=(频率(星))
代表,频率=(翻译(代表,数据))
DF1=数据帧(数字、代表、频率)
DF2=数据帧(星型、代表型、频率型)
DF1.to_csv(f'DF1_{datetime.now().strftime('%f')}.csv'))
DF2.to_csv(f'DF2_{datetime.now().strftime('%f')}.csv'))

谢谢,现在关于导出部分,您知道如何在循环中导出每个名称不同的文件吗?我尽量不手动操作。我来自matlab背景,在这种环境下是可能的,所以我想知道我是否可以在这里做同样的事情,它是有效的!,谢谢谢谢,现在关于导出部分,您知道如何在循环中导出每个名称不同的文件吗?我尽量不手动操作。我来自matlab背景,在这种环境下是可能的,所以我想知道我是否可以在这里做同样的事情,它是有效的!,谢谢