我有一个大数据框,我将根据特定列将其拆分为多个较小的数据框,并希望将这些较小的数据框分别保存为单独的csv文件。
all_parameters
是出现在数据框特定列中的字符串列表。 column_name
是数据框df
中具有我感兴趣的名称的列。
for parameter in all_parameters:
output_filename=str(parameter)+'_char.txt'
df_param=df.loc[df[column_name]==parameter]
df_param.reset_index(inplace=True,drop=True)
print("\n"+output_filename)
print(df_param.head())
df_param.to_csv(output_filename)
每个数据框df_param
都能按预期打印,但是当我尝试保存到csv时,它只会创建名称不带'_char.txt'
的0KB文件
如果我更改为df_param.to_csv('1.txt')
中的固定文件名,它将正确保存循环中的最后一个文件。
要澄清-上面代码中的print语句会生成多个数据帧,如下所示:
[5 rows x 11 columns]
s8srssf8a_VTRIP_LVPORBOD_fall:tripLevel_char.txt
x y SITE ... Data Source Table Temperature
0 6 1 1 ... 1610.436 1D.001.20190131091926 25
1 6 1 1 ... 1548.332 1D.001.20190131103844U1 130
2 5 1 1 ... 1608.646 1D.001.20190131120359 -40
3 8 1 1 ... 1597.414 1D.001.20190131120359 -40
4 1 1 1 ... 1608.345 1D.001.20190131111528 90
[5 rows x 11 columns]
s8srssf8a_VTRIP_LVPORBOD_rise:tripLevel_char.txt
x y SITE ... Data Source Table Temperature
0 3 1 1 ... 1574.713 1D.001.20190131103844U1 130
1 1 1 1 ... 1529.827 1D.001.20190131103844U1 130
2 2 1 1 ... 1621.061 1D.001.20190131091926 25
3 1 1 1 ... 1631.120 1D.001.20190131091926 25
4 7 1 1 ... 1625.103 1D.001.20190131120359 -40
这是怎么回事?请帮忙!