Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python将多个数据帧中的一个特定列写入列表?_Python_File_Csv_Dataframe - Fatal编程技术网

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

如何使用python将多个数据帧中的一个特定列写入列表?,python,file,csv,dataframe,Python,File,Csv,Dataframe,我在一个文件夹中有4个csv文件,我在python中将它们作为数据帧单独加载为数据帧。我处理每个数据帧,以获得唯一的“文件名”作为列表,并将其写入新的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

我在一个文件夹中有4个csv文件,我在python中将它们作为数据帧单独加载为数据帧。我处理每个数据帧,以获得唯一的“文件名”作为列表,并将其写入新的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...]
所以我需要两件事:

  • 我不希望列表输出中出现
    ”((时间戳('2018-01-15 00:00:00'),'1',1)

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

  • [[文件列表\u 1文件名],[文件列表\u 2文件名],[文件列表] 文件\u 3文件名]]


    您想获得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...
    

    您想获得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...
    

    是的。这是可行的,但有没有办法删除列表中填充的“(时间戳('2018-01-15 00:00:00'),'1',1)?如果没有看到原始数据,很难判断,但理论上你不应该有“(时间戳('2018-01-15 00:00:00'),'1','1)”在输出列表中,除非它填充在File_No列中。如果要删除它,可以从输出变量中筛选出非整数的内容。帖子会相应地进行编辑。是的。这是可行的,但有没有办法删除“(时间戳('2018-01-15 00:00:00'),'1',1)”在列表中填充?如果没有看到原始数据很难判断,但理论上你不应该有”(时间戳('2018-01-15 00:00:00'),'1',1)在输出列表中,除非它填充在File_No列中。如果要删除它,可以从输出变量中筛选出非整数的内容。文章会相应地进行编辑。