Python拆分Excel表
HDUZN

因为有个系统导入数据的时候,有近2000条的数据,每次一导入就卡死了,得拆成几百条一张的表格才行。

用Python的pandas拆分一下excel表很简单。而且会保留标题行。

安装pandas库

1
2
3
4
5
6
7
8
# 安装pandas库:
pip install pandas

# 当然,操作excel的库也要安装一下,一般操作.xlsx格式的,安装openpyxl:
pip install openpyxl

# 如果,最后保存文件是.xls格式的,需要安装xlwt:
pip install xlwt

最后保存成.xls格式的时候,会有如下提示:

1
As the xlwt package is no longer maintained, the xlwt engine will be removed in a fuine will be removed in a future version of pandas.

这个东西在pandas中会被淘汰,不用管,等以后不能用了再说。
毕竟还是有些破系统的导入,只支持xls格式的。

拆分Excel表举例

比如:有个表格如下图所示,想按【年级】字段,拆分表,每个年级一个表。

完整代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import pandas as pd

def main():
ex_file = r'.\ex\split_名单.xlsx'
data = pd.read_excel(ex_file)
# rows = data.shape[0] # 获取行数,不算标题行。shape[1]获取列数
# print(rows)

type_list = [1, 2, 3] # 年级列的所有值
for grade in type_list:
df = data.loc[data['年级'] == grade]
path = r'.\ex\split' + '\\' + str(grade) + '.xlsx' # 新生成的文件名,当然.\ex\split目录已建好
df.to_excel(path, index=False)

print('------------fine!')

main()

运行后,结果如图:

当然,如果是部门类别,也是一样的。
如果没有一个类别字段的,也是可以按序号拆分的 ,比如500条一拆。

  • 本文标题:Python拆分Excel表
  • 本文作者:HDUZN
  • 创建时间:2022-07-01 17:04:08
  • 本文链接:http://hduzn.cn/2022/07/01/Python拆分Excel表/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论