本教程演示如何在Python中高效地将多个CSV文件导入Pandas DataFrame。我们将涵盖Pandas的基础知识、读取单个CSV文件、导入多个文件,以及最终将它们连接成单个统一的DataFrame。
目录
1. 什么是Pandas?
Pandas是Python数据科学生态系统中的一个基石库。它提供高性能、易于使用的数据结构和数据分析工具。核心数据结构是DataFrame,这是一个二维标记数据结构,类似于电子表格或SQL表。Pandas简化了从各种来源(包括CSV文件、Excel电子表格和数据库)处理结构化数据的工作。
2. 读取单个CSV文件
在处理多个文件之前,让我们先读取单个CSV:
import pandas as pd
file_path = 'your_file.csv' # 请替换为您的文件路径
df = pd.read_csv(file_path)
print(df.head())
这将导入Pandas,指定文件路径,使用pd.read_csv()
读取CSV,并使用df.head()
显示前五行。
3. 读取多个CSV文件
要从目录中读取多个CSV文件,我们使用glob
模块:
import pandas as pd
import glob
directory = 'path/to/your/csv/files/' # 请替换为您的目录
csv_files = glob.glob(directory + '*.csv')
dfs = []
for file in csv_files:
try:
df = pd.read_csv(file)
dfs.append(df)
except pd.errors.EmptyDataError:
print(f"警告:跳过空文件:{file}")
except pd.errors.ParserError:
print(f"警告:跳过解析错误的文件:{file}")
print(f"读取的DataFrame数量:{len(dfs)}")
此代码查找指定目录中的所有CSV文件,将每个文件读取到DataFrame中,并将其添加到列表中。try-except
块处理潜在的错误,例如空文件或解析错误,防止脚本崩溃。
4. 连接DataFrames
最后,我们将各个DataFrame组合起来:
combined_df = pd.concat(dfs, ignore_index=True)
print(combined_df.head())
combined_df.to_csv('combined_data.csv', index=False) # 可选:保存到新的CSV
pd.concat(dfs, ignore_index=True)
连接dfs
列表中的所有DataFrame。ignore_index=True
重置索引以获得干净的连续索引。可选的to_csv()
保存结果。
5. 处理潜在错误
健壮的脚本会预料到问题。添加错误处理(如在多个文件读取部分所示)至关重要。考虑添加检查目录是否存在以及处理不同类型的文件读取错误(例如,分隔符不正确、缺少列)。这确保您的脚本更可靠,并且不易出现意外故障。