查看原文
其他

如何从excel中读取多个工作表

大邓 大邓和他的Python 2019-04-26

近期有学员学习《python文本分析:从入门到到精通》第四部分时,后台问如果要处理的excel数据是含有多个sheet表,我们该怎么处理。因为默认都是假设一个excel只有一个sheet,所以我一开始也没考虑到这种情况。

不过不用怕,明白问题就能找到解决办法。我用谷歌搜索

How to read mutiple sheets from one excel in Python?

打开stackoverflow,浏览了一番,看到这个解答。我对其中的第二条思路很感兴趣

解决思路:

读取excel文件,获得所有的sheet名

根据sheet名,再去读取excel中的不同的worksheet

  1. ##获取sheet名列表

  2. import pandas as pd


  3. xls = pd.ExcelFile('data.xlsx')

  4. xls.sheet_names

运行结果

  1. ['莫干·遥远的山',

  2. '莫干山青漫·一屋',

  3. '莫干山山氧·开态',

  4. '莫干山居图',

  5. '莫干山野奢',

  6. '莫干山慕色',

  7. '莫干山西部时光山居',

  8. '莫干山隐西39精品民宿',

  9. '莫干山莫梵',

  10. '莫干山蕨宿设计精品民宿']

现在我们按照sheet名来读取Excel文件

  1. #还真的能读取

  2. df = pd.read_excel('data.xlsx', sheet_name='莫干山居图')

  3. df.head()

  1. #还真的能读取

  2. df = pd.read_excel('data.xlsx', sheet_name='莫干山蕨宿设计精品民宿')

  3. df.head()


  1. #还真的能读取

  2. df = pd.read_excel('data.xlsx', sheet_name='莫干山慕色')

  3. df.head()


合并多个sheet到一个sheet中

  1. df_list = []

  2. for sheetname in xls.sheet_names:

  3. df = pd.read_excel('data.xlsx', sheet_name=sheetname)

  4. df_list.append(df)

  5. alldf = pd.concat(df_list)

  6. alldf.to_excel(newdata.xlsx)

df

精选文章

Python系列课(爬虫、文本分析、机器学习)

爬虫实战:抓取知乎问题“大学生如何赚到一万元”

洞中方一日,世上已千年

小demo:对德文数据进行文本分析   

argparse模块用法实例详解

使用Python制作WORD报告 

使用Pandas、Jinja和WeasyPrint制作pdf报告

为什么你要为2020,而不是2019做计划?         

如何让python代码显示进度信息?   

我是如何通过python挣外快的  

python文本分析:从入门到精通

PySimpleGUI: 开发自己第一个软件  

100G 文本分析语料资源(免费下载) 

文件腾转挪移操作,那都不是事儿

python文本分析:从入门到精通

免费的python课见多了,但是还能赚钱的可不多见

你看到这里,你懂得


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存