Python编程快速上手——Excel到CSV的转换程序案例分析


Posted in Python onFebruary 28, 2020

本文实例讲述了Python Excel到CSV的转换程序。分享给大家供大家参考,具体如下:

题目如下:

  • 利用第十二章的openpyxl模块,编程读取当前工作目录中的所有Excel文件,并输出为csv文件。
  • 一个Excel文件可能包含多个工作表,必须为每个表创建一个CSV文件。CSV文件的文件名应该是<Excel 文件名>_<表标题>.csv,其中< Excel 文件名 >是没有拓展名的Excel文件名,<表标题>是Worksheet对象的title变量中的字符串
  • 该程序包含许多嵌套的for循环。该程序框架看起来像这样:
for excelFile in os.listdir('.'):
   # skip non-xlsx files, load the workbook object
   for sheetname in wb.get_sheet_names():
      #Loop through every sheet in the workbook
      sheet = wb.get_sheet_by_name(sheetname)
      # create the csv filename from the Excel filename and sheet title
      # create the csv.writer object for this csv file
      #loop through every row in the sheet
      for rowNum in range(1, sheet.max_row + 1):
         rowData = [] #append each cell to this list
         # loop through each cell in the row
         for colNum in range (1, sheet.max_column + 1):
            #Append each cell's data to rowData
         # write the rowData list to CSV file
       csvFile.close()

htttp://nostarch.com/automatestuff/下载zip文件excelSpreadseets.zip,将这些电子表格压缩到程序所在目录中。可以使用这些文件来测试程序

思路如下:

  • 基本上按照题目给定的框架进行代码的编写
  • 对英文进行翻译,理解意思即可快速编写出程序

代码如下:

#! python3
import os, openpyxl, csv
for excelFile in os.listdir('.\\CSV'): #我将解压后的excel文件放入此文件夹
  # 筛选出excel文件,创建工作表对象
  if excelFile.endswith('.xlsx'):
    wb = openpyxl.load_workbook('.\\CSV\\'+ excelFile)
    for sheetName in wb.get_sheet_names():
      #依次遍历工作簿中的工作表
      sheet = wb.get_sheet_by_name(sheetName)
      #根据excel文件名和工作表名创建csv文件名
      #通过csv.writer创建csv file对象
      basename = excelFile[0:-5] #将excel文件名进行切割,去掉文件名后缀.xlsx
      File = open('{0}_{1}.csv'.format(basename,sheetName),'w') #新建csv file对象
      csvFile = csv.writer(File) #创建writer对象
      #csvFileWriter.writerow()
      #遍历表中每行
      for rowNum in range(1,sheet.max_row+1):
        rowData = [] #防止每个单元格内容的列表
        #遍历每行中的单元格
        for colNum in range(1,sheet.max_column + 1):
          #将每个单元格数据添加到rowData
          rowData.append(sheet.cell(row = rowNum,column = colNum).value)
        csvFile.writerow(rowData)
        #将rowData列表写入到csv file
      File.close()

运行结果:

Python编程快速上手——Excel到CSV的转换程序案例分析

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用Python解决计数原理问题的方法
Aug 04 Python
python3模块smtplib实现发送邮件功能
May 22 Python
Django实战之用户认证(初始配置)
Jul 16 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
用Python实现数据的透视表的方法
Nov 16 Python
Python使用while循环花式打印乘法表
Jan 28 Python
Django框架 querySet功能解析
Sep 04 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
Django分组聚合查询实例分享
Apr 29 Python
python中如何使用虚拟环境
Oct 14 Python
python 对象真假值的实例(哪些视为False)
Dec 11 Python
python对文件的操作方法汇总
Feb 28 #Python
最新2019Pycharm安装教程 亲测
Feb 28 #Python
Python发送手机动态验证码代码实例
Feb 28 #Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 #Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 #Python
Python进程Multiprocessing模块原理解析
Feb 28 #Python
python 实现多维数组(array)排序
Feb 28 #Python
You might like
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
jquery实现上传图片功能
2020/06/29 jQuery
Python 序列的方法总结
2016/10/18 Python
Python切换pip安装源的方法详解
2016/11/18 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
外语系毕业生找工作的求职信
2013/11/28 职场文书
《我不是最弱小的》教学反思
2014/02/23 职场文书
愚人节活动策划方案
2014/03/11 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
相亲活动方案
2014/08/26 职场文书
工作检讨书500字
2014/10/19 职场文书
2014年技术员工作总结
2014/11/18 职场文书
预备党员考察意见范文
2015/06/01 职场文书
培训后的感想
2015/08/07 职场文书
部门主管竞聘书
2015/09/15 职场文书
2016年母亲节广告语
2016/01/28 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技