介绍
pandas
很容易将Excel文件读取为
DataFrame
,但是在现实中,Excel文件里面的数据格式往往是不规范的,在那些数据分散在不同Sheet的情况下,就需要自定义读取数据的方式,这篇文章将讨论如何用
pandas
和
openpyxl
读取这类格式的Excel文件,将里面的数据转换为
DataFrame
以便进一步的分析工作。
数据的问题
pandas
内的
read_excel
方法在读取Excel工作表方面非常高效好用,无论如何,当数据在表中不是以连续的形式存储的话,读取出来的数据可能就和预期的不同了。
当你尝试用
read_excel
读取下面图中所示的这种数据格式时:
你将得到如下结果:
上面的结果包含了很多
Unnamed
的列。
Pandas 解决方案
最简单的方案
此数据集的最简单解决方案是在
read_excel()
方法中使用
header
和
usecols
参数,特别是
usecols
对于控制想要提取的数据列很有用。
这些例子的所有文件都在github
下面是一种我们提取数据的方法:
import pandas as pd
from pathlib import Path
src_file = Path.cwd() / 'shipping_tables.xlsx'
df = pd.read_excel(src_file, header=1, usecols='B:F')