需要从多个 csv 文件中选择 'second column' 并将所有 'second columns' 保存在一个 csv 文件中

Need to pick 'second column' from multiple csv files and save all 'second columns' in one csv file

所以我有 366 个 CSV 文件,我想复制它们的第二列并将它们写入一个新的 CSV 文件。需要这个工作的代码。我在这里尝试了一些可用的代码,但没有任何效果。请帮忙

假设所有第二列的长度相同,您可以简单地遍历所有文件。阅读它们,将第 2 列保存到内存中并沿途构建一个新的 df。

filenames = ['test.csv', ....]

new_df = pd.DataFrame()

for filename in filenames:
    df = pd.read_csv(filename)
    second_column = df.iloc[:, 1]
    new_df[f'SECOND_COLUMN_{filename.upper()}'] = second_column
    del(df)

new_df.to_csv('new_csv.csv', index=False)

这可以通过 glob 和 pandas:

import glob
import pandas as pd

mylist = [f for f in glob.glob("*.csv")]
df = pd.read_csv(mylist[0]) #create the dataframe from the first csv
df = pd.DataFrame(df.iloc[:,1]) #only keep 2nd column
for x in mylist[1:]: #loop through the rest of the csv files doing the same
    t = pd.read_csv(x)
    colName = pd.DataFrame(t.iloc[:,1]).columns
    df[colName] = pd.DataFrame(t.iloc[:,1])
    df.to_csv('output.csv', index=False)
    import glob
    import pandas as pd

    mylist = [f for f in glob.glob("*.csv")]
    df = pd.read_csv(csvList[0]) #create the dataframe from the first csv
    df = pd.DataFrame(df.iloc[:,0]) #only keep 2nd column
    for x in mylist[1:]: #loop through the rest of the csv files doing the same
        t = pd.read_csv(x)
        colName = pd.DataFrame(t.iloc[:,0]).columns
        df[colName] = pd.DataFrame(t.iloc[:,0])
        df.to_csv('output.csv', index=False)
    filenames = glob.glob(r'D:/CSV_FOLDER' + "/*.csv")

    new_df = pd.DataFrame()

    for filename in filenames:
        df = pd.read_csv(filename)
        second_column = df.iloc[:, 1]
        new_df[f'SECOND_COLUMN_{filename.upper()}'] = second_column
        del(df)

    new_df.to_csv('new_csv.csv', index=False)