python

当前位置:首页 > Pandas教程 > 当前文章

Pandas教程

pandas处理excel多个sheet合并为一个sheet

2020-06-04 179赞 python中国网
每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

  pandas如何实现把一个excel中的多个sheet合并为一个sheet呢,具体思路如下:

  1、读取excel获取每个的sheet的DataFrame对象,通过把read_excel的sheet_name参数设为None来实现。

  2、设定一个空DataFrame对象用来拼接每个sheet。

  3、循环每个sheet,然后通过concat函数把空DataFrame对象依次拼接每个sheet。

  注意事项:

  1、concat函数会默认把表头一致的列对齐,确保每个sheet的表头是一致的。

  实现代码如下:

# -*- coding: utf-8 -*-
import pandas as pd

# 参数为None 代表读取所有sheet
df = pd.read_excel('kwd_city.xlsx',sheet_name=None)
# 获取所有sheet名字
# 如果read_excel参数不是None,则df.keys()为表头
sheet_names = list(df.keys())
# 创建空df用来连接
df_concat = pd.DataFrame()
# 循环每个df拼接成一个
for sheet_name in sheet_names:
    df_sheet = df[sheet_name]
    df_concat = pd.concat([df_concat,df_sheet])
# 写入新的excel
df_concat.to_excel('kwd_city_new.xlsx',index=False)

文章评论

pandas处理excel多个sheet合并为一个sheet文章写得不错,值得赞赏