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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
python实现简单socket程序在两台电脑之间传输消息的方法
Mar 13 Python
浅谈python中的变量默认是什么类型
Sep 11 Python
Python管理Windows服务小脚本
Mar 12 Python
Python3中列表list合并的四种方法
Apr 19 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
Python全栈之列表数据类型详解
Oct 01 Python
Python帮你识破双11的套路
Nov 11 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 Python
基于python3实现倒叙字符串
Feb 18 Python
Python编程快速上手——强口令检测算法案例分析
Feb 29 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
URL Rewrite的设置方法
2007/01/02 PHP
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
php 字符串替换的方法
2012/01/10 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
使用python3.5仿微软记事本notepad
2016/06/15 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
python集合的新增元素方法整理
2020/12/07 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
阿里巴巴英国:Alibaba英国
2019/12/11 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
政法大学毕业生自荐信范文
2014/01/01 职场文书
运动会致辞稿50字
2014/02/04 职场文书
技术支持岗位职责
2015/02/13 职场文书