【问题标题】:How to join all csv files in a folder with Python?如何使用 Python 加入文件夹中的所有 csv 文件?
【发布时间】:2021-02-07 13:54:35
【问题描述】:

我目前在一个文件夹中有多个 csv 文件,每个文件的结构如下:

第 1 列,第 2 列

x1, y1

x2, y2

...

其中第 1 列在所有 csv 文件中是相同的。我正在尝试加入第 1 列文件夹中的所有 csv 文件。并且要识别输出 csv 中每列 2 的来源,请通过其文件名重命名新列(column2)。我想知道是否有办法在python中完成它?

【问题讨论】:

  • 有很多方法可以做到这一点。 csv 模块和 pandas 都是不错的选择。试一试,如果有问题,请报告。
  • @tdelaney,我一直在寻找方法,但是网上的大部分资源都是用于连接文件而不是加入它们。我对python有点陌生。我知道如何合并两个数据框,但不知道文件夹中的数百个文件...

标签: python pandas dataframe csv


【解决方案1】:

如果我正确理解了您的问题,它应该可以解决您的问题:

import pandas as pd
import os

df = pd.DataFrame()
for filename in os.listdir(dir_name):
    if filename.endswith('.csv'):
        curr_df = pd.read_csv(os.path.join(dir_name, filename))
        
        # In case this is the first df, then add the common column
        if df.empty:
            column1_header = list(curr_df.columns)[0]
            df[column1_header] = curr_df[column1_header]

        df[filename] = curr_df.iloc[:, 1]

【讨论】:

  • @Gin 欢迎您!如果这个答案对你有帮助,你可以投赞成票
猜你喜欢
  • 2020-08-18
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-17
  • 1970-01-01
相关资源
最近更新 更多