Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.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连接文件夹中的所有csv文件?_Python_Pandas_Dataframe_Csv - Fatal编程技术网

如何使用Python连接文件夹中的所有csv文件?

如何使用Python连接文件夹中的所有csv文件?,python,pandas,dataframe,csv,Python,Pandas,Dataframe,Csv,我目前在一个文件夹中有多个csv文件,每个文件的结构如下: 第1栏,第2栏 x1,y1 x2,y2 其中第1列在所有csv文件中相同。我正在尝试加入第1列文件夹中的所有csv文件。要识别输出csv中每个列2的来源,请根据其文件名重命名新列(column2)。我想知道是否有一种方法可以在python中实现它?如果我正确理解了您的问题,它应该可以解决您的问题: import pandas as pd import os df = pd.DataFrame() for filename in os

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

第1栏,第2栏

x1,y1

x2,y2


其中第1列在所有csv文件中相同。我正在尝试加入第1列文件夹中的所有csv文件。要识别输出csv中每个列2的来源,请根据其文件名重命名新列(column2)。我想知道是否有一种方法可以在python中实现它?

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

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]

有很多方法可以做到这一点。csv模块和熊猫都是不错的选择。如果您有问题,请尝试并报告。@tdelaney,我一直在搜索方法,但大多数在线资源都是用于将文件合并而不是合并它们。我对python有点陌生。我知道如何合并两个数据帧,但不知道如何合并文件夹中的数百个文件…@Gin Your'e welcome!如果这个答案对你有帮助,你可以投赞成票