专栏名称: Python程序员
最专业的Python社区,有每日推送,免费电子书,真人辅导,资源下载,各类工具。我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动
目录
相关文章推荐
Python爱好者社区  ·  DeepSeek创始人梁文锋个人履历 ·  昨天  
Python爱好者社区  ·  离谱!下载DeepSeek最高判刑20年? ·  19 小时前  
Python爱好者社区  ·  多模态,杀疯了 ·  19 小时前  
Python开发者  ·  o3-mini 碾压 DeepSeek ... ·  4 天前  
Python爱好者社区  ·  吴恩达,yyds ·  4 天前  
51好读  ›  专栏  ›  Python程序员

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

Python程序员  · 公众号  · Python  · 2021-02-26 08:05

正文



一、前言

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







请到「今天看啥」查看全文