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中with语句的用法
Apr 15 Python
Python脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
python使用pyqt写带界面工具的示例代码
Oct 23 Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 Python
Python解决八皇后问题示例
Apr 22 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
JupyterNotebook 输出窗口的显示效果调整方法
Apr 13 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
Python实现自动装机功能案例分析
Oct 22 Python
教你使用pyinstaller打包Python教程
May 27 Python
详解非极大值抑制算法之Python实现
Jun 28 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 session处理的定制
2009/03/16 PHP
php URL验证正则表达式
2011/07/19 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
php 获取本地IP代码
2013/06/23 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
Destoon实现多表查询示例
2014/08/21 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
Python处理XML格式数据的方法详解
2017/03/21 Python
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
Python八皇后问题解答过程详解
2019/07/29 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
新媒传信软件测试面试题
2013/02/24 面试题
夜大自我鉴定
2013/10/31 职场文书
质检的岗位职责
2013/11/17 职场文书
小学教师师德反思
2014/02/03 职场文书