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

使用Pandas读取含多表的CSV报错,求合并多表解决方案

解决CSV双表合并问题

当CSV文件包含两个由双空行分隔的表格时,直接使用pd.read_csv()会因列数不匹配报错,可按以下步骤处理:

1. 下载并拆分文件内容

先通过请求获取文件内容,按行拆分后定位双空行的分割位置:

import pandas as pd
import requests
from io import StringIO

url = "你的目标CSV文件URL"
# 下载文件内容
response = requests.get(url)
lines = response.text.splitlines()

# 定位两张表的分割点(双空行位置)
split_pos = None
for idx in range(len(lines)-1):
    if not lines[idx].strip() and not lines[idx+1].strip():
        split_pos = idx
        break

2. 分别读取两张表格

基于分割点拆分内容,过滤空行后用StringIO转为pandas可读取的格式:

# 读取第一张表,过滤空行
table1_content = "\n".join([line for line in lines[:split_pos] if line.strip()])
table1 = pd.read_csv(StringIO(table1_content))

# 读取第二张表,过滤空行
table2_content = "\n".join([line for line in lines[split_pos+1:] if line.strip()])
table2 = pd.read_csv(StringIO(table2_content))

3. 合并表格

若两张表格列结构一致,直接合并:

merged_table = pd.concat([table1, table2], ignore_index=True)

注意事项

  • 如果两张表格列名或列数不一致,需先统一列结构(比如重命名列、补充缺失列)再合并
  • 若文件中存在多组连续空行,可调整分割点的判断逻辑,比如检测连续空行的起始位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 07:15:56