如何使用python将多个dataframe中的一个特定列写入列表?

2024-04-24 11:15:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个文件夹中有4个csv文件,在python中将它们作为dataframes单独加载为dataframes。我处理这些数据帧中的每一个,以获得唯一的“文件名”作为一个列表,并将其写入一个新的csv文件

现在我想把所有数据帧的所有文件名都写到输出文件中

file_list=[]
for fileno in data.groupby(['date','age'])['File_No']:
    file_list.append(fileno)
with open(r'D:\Data\core_data\file1.csv', "w") as csvFile:
    writer = csv.writer(csvFile)
    writer.writerows(file_list)

这里的数据是一个数据帧。这将生成此数据帧中存在的文件名列表,如下所示:

[((Timestamp('2018-01-15 00:00:00'), '1', 1), 0      1011
  1      1012
  2      1013
  3      1014...]

所以我需要两件事:

  1. 我不想在列表输出中使用'((Timestamp('2018-01-15 00:00:00'), '1', 1)

  2. 所有数据帧的列表应写入一个列表,如下所示:

[[list of file_1 file names],[list of file_2 file names],[list of file_3 file names]]


Tags: 文件ofcsv数据csvfile列表datanames
1条回答
网友
1楼 · 发布于 2024-04-24 11:15:35

你想得到你的4个csv文件中的文件名列表,对吗

在这种情况下,为什么不循环浏览CSV文件并获取预期列表,如下所示:

import pandas as pd
files = ['file1.csv', 'file2.csv', 'file3.csv', 'file4.csv']

output = []
for file in files:
    temp_df = pd.read_csv(file) 
    output.append([x for x in list(temp_df['File_No'].unique()) if type(x) == int])

#write output to csv...

相关问题 更多 >