手把手教你利用Python轻松拆分Excel为多个CSV文件
共 1629字,需浏览 4分钟
·
2021-02-24 13:13
点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
一、前言
在日常生活或者工作中的时候,我们偶尔会遇到这样一种让人头大的情况——当单个Excel文件较大或需要根据某一列的内容需要拆分为多个CSV文件时,用Excel的筛选功能去慢慢筛选虽然可行,但是来回反复倒腾工作量就比较大了。不过小伙伴们不用惊慌,其实这个情况我们只需要用Python几行代码就能实现!一起来看看吧~
二、项目目标
将单个Excel文件拆分为多个CSV文件或根据某一列的内容拆分为多个CSV文件。
三、项目准备
软件:PyCharm
需要的库:tkinter, pandas,xlrd
四、项目分析
1)如何选择目标文件?
利用tkinter库中的filedialog,进行要处理的目标文件选择。
2)如何读取Excel文件?
利用xlrd库进行Excel读取,获取要处理的目标Sheet。
3)如何筛选列内容?
利用pandas库进行列内容的筛选处理,得到拆分后的数据。
4)如何保存文件?
利用to_csv()保存数据,得到最终拆分后的目标文件。
五、项目实现
1、第一步导入需要的库
from tkinter import filedialog
import pandas as pd
import xlrd
2、第二步选择目标文件
path = filedialog.askopenfilename().replace('/', '\\')
first_file_fh=xlrd.open_workbook(path)
# 选择要拆分的文件
first_file_sheet=first_file_fh.sheets()
3、第三步读取Excel文件
for sheetname in first_file_sheet:
sheet_names.append(sheetname.name)
df = pd.read_excel(path, sheet_name=sheet_names[0])
4、第四步根据某列的内容进行筛选并保存
for c in list_c:
# 根据列的内容循环读取
df2=df[df['地市']==c]
# 根据列的内容进行筛选
df2.to_CSV('./excel_CSV/auto_ok/32_'+c+'.CSV', encoding='gbk',index=None)
# 筛选后的内容保存为CSV
六、效果展示
1、处理前Excel数据:
2、最终拆分后CSV文件保存结果:
3、为了方便大家进行操作,小编录制了一个小视频,欢迎大家动动手去跟着实践一下,如果觉得不错,记得点个赞呐~
七、总结
本文介绍了如何利用Python对Excel文件进行拆分处理,实现可以根据任意列的内容进行拆分。轻轻松松几行Python代码就能实现,好玩吧。
最后需要本文项目代码的小伙伴,请在公众号后台回复“拆分文件”关键字进行获取,如果在运行过程中有遇到任何问题,请随时留言或者加小编好友,小编看到会帮助大家解决bug噢!
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~