今天临时加一篇,有网友提到如下问题:python pandas如何合并一个工作薄的多张表,格式一致。我简要的实现一下,例子可能比较简单,但是能说明问题了。
内容一致,有上述内容3张表。
代码实现如下:
# 读取所有表
>>> dfs = pd.read_excel(r'D:/myExcel/1.xlsx', sheet_name=None)
# 返回值是一个OrderedDict。
>>> dfs
OrderedDict([('Sheet1', name math
0 bog 45
1 jiken 67
2 bob 23
3 jiken 34), ('Sheet2', name math
0 bog 45
1 jiken 67
2 bob 23
3 jiken 34), ('Sheet3', name math
0 bog 45
1 jiken 67
2 bob 23
3 jiken 34)])
# 调用values会获取所有表的DataFrame并返回数组。调用keys方法
# 会返回所有表名的列表
>>> dfvalues = dfs.values()
# 使用pd.concat做行连接,就可以了。
>>> res = pd.concat(dfvalues)
>>> res
name math
0 bog 45
1 jiken 67
2 bob 23
3 jiken 34
0 bog 45
1 jiken 67
2 bob 23
3 jiken 34
0 bog 45
1 jiken 67
2 bob 23
3 jiken 34
>>>
哈哈,欢迎关注:python小工具。一起学习python和pandas