📜  使用Python从目录中获取所有 CSV 文件(1)

📅  最后修改于: 2023-12-03 15:22:19.807000             🧑  作者: Mango

使用Python从目录中获取所有 CSV 文件

在数据处理和分析中,CSV格式是经常使用的一种数据格式。然而,当我们需要处理多个CSV文件时,手动去一个一个查找可能会很费时费力。因此,编写Python脚本来自动化该过程可以帮助我们更高效地处理数据。

1. 使用os模块获取所有文件名

首先,我们需要使用os模块提供的listdir函数获取指定目录下的所有文件和文件夹的名称。然后,使用列表推导式将所有以.csv结尾的文件名称保存到一个列表中。

import os

path = './data' # 指定目标目录路径
csv_files = [f for f in os.listdir(path) if f.endswith('.csv')]
print(csv_files)

上述代码中,path指定了我们所需查找的目录路径,os.listdir函数会返回指定目录下所有文件和文件夹的名称,我们使用列表推导式遍历所有的文件名,并筛选出以.csv结尾的文件。最后,获得了所有CSV文件的名称列表。

2. 使用glob模块获取所有CSV文件路径

另外一个获取所有CSV文件的方法是使用glob模块。glob模块提供了一种用于匹配文件路径的函数,可以非常方便地获取指定目录下的所有CSV文件路径。

import glob

path = './data' # 指定目标目录路径
csv_files = glob.glob(os.path.join(path, '*.csv'))
print(csv_files)

上述代码中,path同样指定了我们所需查找的目录路径,os.path.join函数用于将目标文件夹路径和匹配规则*.csv连接成要搜索的文件路径。最后,glob函数返回所有匹配到的文件路径的列表,我们获得了所有CSV文件的路径列表。

3. 使用pandas模块读取CSV文件数据

我们已经成功获取了所有CSV文件的路径,下一步就是使用pandas模块来读取其中的数据。

import pandas as pd

path = './data' # 指定目标目录路径
csv_files = glob.glob(os.path.join(path, '*.csv'))

for file in csv_files:
    df = pd.read_csv(file)
    print(df.head())

上述代码中,我们遍历所有CSV文件的路径列表,使用pd.read_csv函数读取每个文件的数据,并返回Dataframe格式。我们可以根据具体需要对Dataframe数据进一步处理,比如输出前几行数据、统计数据信息等。

以上就是使用Python从目录中获取所有CSV文件的方法,希望能够帮助大家更高效地处理数据。