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实现颜色色值转换的小工具
Oct 27 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
Jun 05 Python
Python上下文管理器和with块详解
Sep 09 Python
深入浅析python with语句简介
Apr 11 Python
对pycharm 修改程序运行所需内存详解
Dec 03 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 Python
Python 的AES加密与解密实现
Jul 09 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
Feb 27 Python
python实现UDP协议下的文件传输
Mar 20 Python
Python批量将图片灰度化的实现代码
Apr 11 Python
python实现图像外边界跟踪操作
Jul 13 Python
flask开启多线程的具体方法
Aug 02 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
简单实现jQuery手风琴效果
2017/08/18 jQuery
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
Python sqlite3事务处理方法实例分析
2017/06/19 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
Python字符串及文本模式方法详解
2020/09/10 Python
Melissa香港官网:MDreams
2016/07/01 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
公益活动策划方案
2014/01/09 职场文书
初二政治教学反思
2014/01/12 职场文书
淘宝活动策划方案
2014/02/06 职场文书
机关出纳岗位职责
2014/04/03 职场文书
党员争先创优承诺书
2015/01/20 职场文书
大学生入党自荐书
2015/03/05 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
Golang的继承模拟实例
2021/06/30 Golang
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
Redis Lua脚本实现ip限流示例
2022/07/15 Redis