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下如何查询CS反恐精英的服务器信息
Jan 17 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
详解Django中六个常用的自定义装饰器
Jul 04 Python
对TensorFlow中的variables_to_restore函数详解
Jul 30 Python
python 美化输出信息的实例
Oct 15 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
python3 字符串知识点学习笔记
Feb 08 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
python爬虫实例之获取动漫截图
May 31 Python
Pycharm及python安装详细教程(图解)
Jul 31 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 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
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
Node.js实现文件上传的示例
2017/06/28 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
Angular弹出模态框的两种方式
2017/10/19 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
js逆向解密之网络爬虫
2019/05/30 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
Python入门_条件控制(详解)
2017/05/16 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
优秀团员自我评价范文
2014/04/23 职场文书
家长高考寄语
2015/02/27 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
在人间读书笔记
2015/06/30 职场文书
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS
vue自定义右键菜单之全局实现
2022/04/09 Vue.js
PyTorch中permute的使用方法
2022/04/26 Python