社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

手把手教你利用Python轻松拆分Excel为多个CSV文件

菜鸟学Python • 4 年前 • 719 次点击  


一、前言

在日常生活或者工作中的时候,我们偶尔会遇到这样一种让人头大的情况——当单个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 filedialogimport pandas as pdimport 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文件保存结果:




菜鸟编程大本营,已经正式上线

专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手,欢迎关注。


年度最火的文案

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/108019
 
719 次点击