Python 读取多个 CSV 文件行数的技巧
CSV(Comma-Separated Values,即逗号分隔值)是一种广泛使用的数据格式,通常用于存储表格数据。Python 提供了强大的库来处理 CSV 文件,特别是 pandas
和 csv
。在这篇文章中,我们将讨论如何使用 Python 读取多个 CSV 文件的行数,并展示一些相关的代码示例。
基本概念
在开始之前,首先我们要了解 CSV 文件的基本结构。CSV 文件由多行文本组成,每一行代表一条记录,字段之间通过逗号分隔。例如,下面是一个简单的 CSV 文件的内容:
姓名,年龄,性别
张三,28,男
李四,22,女
王五,35,男
目录结构
在我们的示例中,假设我们有一个目录结构,如下所示:
data/
├── file1.csv
├── file2.csv
└── file3.csv
读取 CSV 文件的行数
为了读取多个 CSV 文件的行数,我们将使用 pandas
库,这个库非常强大且易于使用。首先确保你已经安装了 pandas
:
pip install pandas
示例代码
在下面的代码中,我们将读取指定目录中的所有 CSV 文件,并计算每个文件的行数。
import pandas as pd
import os
# 设置 CSV 文件所在的目录
directory = 'data'
# 存储每个文件的行数
file_line_counts = {}
# 遍历目录中的文件
for filename in os.listdir(directory):
if filename.endswith('.csv'):
# 构建完整的文件路径
file_path = os.path.join(directory, filename)
# 读取 CSV 文件
df = pd.read_csv(file_path)
# 统计行数(减去一行表头)
line_count = len(df)
# 存储行数
file_line_counts[filename] = line_count
# 打印每个文件的行数
print("CSV 文件行数统计:")
for file, count in file_line_counts.items():
print(f"{file}: {count} 行")
代码解析
- 导入库:我们导入必须的库,包括
pandas
和os
。 - 设置目录:指定存储 CSV 文件的目录。
- 遍历目录:使用
os.listdir()
函数列出目录中的所有文件,并筛选出以.csv
结尾的文件。 - 读取文件和计算行数:对每个 CSV 文件,我们使用
pd.read_csv()
简单地加载数据,并使用len(df)
获取行数(注意这不包括表头)。 - 显示结果:最后输出每个文件的名称及其行数。
类图示意
在我们的代码设计中,可以对应一个简单的类图,以便更好地理解程序结构。以下是一个用 mermaid
语法表示的类图示意:
classDiagram
class CSVFileReader {
+str directory
+dict file_line_counts
+void read_files()
+int count_lines(str filename)
}
结果展示
运行上述代码后,您应该看到类似如下的输出:
CSV 文件行数统计:
file1.csv: 3 行
file2.csv: 2 行
file3.csv: 4 行
以上输出显示了每个 CSV 文件的行数,方便我们对数据进行进一步的分析。
结论
在这篇文章中,我们介绍了如何使用 Python 的 pandas
库读取多个 CSV 文件并统计它们的行数。通过简单的代码示例,我们能够快速获取每个文件的规模。这种技术在数据分析和数据预处理过程中特别有用,因为它提供了快速的文件检索和处理手段。
总之,掌握如何处理 CSV 文件的能力,在数据科学和数据分析职业生涯中无疑是非常重要的。希望本篇文章能够帮助您更好地理解和使用 Python 操作 CSV 文件的技巧。