You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas统计两CSV文件行数并求和报错求助

解决Pandas统计两个CSV行数并求和的问题

我来帮你搞定这个问题!在Pandas里统计CSV行数其实没那么复杂,先说说你可能踩的坑,再给你正确的实现步骤:

常见错误原因

你之前报错大概率是这两个原因:

  • 误用了Pandas不存在的属性,比如尝试用df.length(Pandas里根本没有这个属性)
  • 读取CSV时出了问题,比如文件路径写错、编码不兼容,导致DataFrame没正确创建就去统计行数

正确实现方法

步骤1:导入Pandas库

首先确保你已经安装了Pandas,然后在代码里导入:

import pandas as pd

步骤2:读取CSV文件

用pd.read_csv()读取你的两个CSV文件,注意路径要正确:

  • 如果CSV文件和你的脚本在同一个文件夹,直接写文件名就行
  • 如果不在同一目录,要写完整的绝对路径(比如C:/data/file1.csv或者/home/user/data/file1.csv)
  • 如果你的CSV没有表头,记得加header=None参数,不然第一行数据会被当成表头,导致行数统计少一行

示例:

# 读取第一个CSV(假设有表头)
df_month1 = pd.read_csv('month1_data.csv')
# 读取第二个CSV(假设没有表头)
df_month2 = pd.read_csv('month2_data.csv', header=None)

步骤3:统计行数并求和

Pandas里有两种可靠的方式获取DataFrame的行数:

  1. 使用len()函数:直接传入DataFrame就能得到行数
  2. 使用df.shape[0]:shape是一个元组,第一个元素是行数,第二个是列数

任选一种方式,把两个文件的行数相加赋值给total_months:

# 方法1:用len()
total_months = len(df_month1) + len(df_month2)

# 方法2:用shape[0]
# total_months = df_month1.shape[0] + df_month2.shape[0]

完整示例代码

import pandas as pd

# 读取两个CSV文件
df1 = pd.read_csv('first_file.csv')
df2 = pd.read_csv('second_file.csv')

# 计算总行数
total_months = len(df1) + len(df2)

# 验证结果
print(f"两个CSV文件的总行数是:{total_months}")

额外注意事项

  • 如果CSV文件很大,不想把整个文件加载到内存里,可以用pd.read_csv()的chunksize参数分块读取,然后累加行数,这样更省内存:
    total = 0
    for chunk in pd.read_csv('large_file.csv', chunksize=1000):
        total += len(chunk)
    
  • 如果读取时报UnicodeDecodeError,可以尝试指定编码,比如encoding='utf-8'或者encoding='gbk',根据你的文件编码调整。

内容的提问来源于stack exchange,提问作者db4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:56:24