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 相关文章推荐
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
简单介绍Python中的floor()方法
May 15 Python
Python扫描IP段查看指定端口是否开放的方法
Jun 09 Python
Python 3中print函数的使用方法总结
Aug 08 Python
python动态进度条的实现代码
Jul 03 Python
如何通过python的fabric包完成代码上传部署
Jul 29 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
Python concurrent.futures模块使用实例
Dec 24 Python
Python多进程编程常用方法解析
Mar 26 Python
Python 代码调试技巧示例代码
Aug 11 Python
如何将json数据转换为python数据
Sep 04 Python
python如何做代码性能分析
Apr 26 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获取网站域名和地址的代码
2008/08/17 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
Vue实现简单分页器
2018/12/29 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
python:socket传输大文件示例
2017/01/18 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
python pygame实现方向键控制小球
2019/05/17 Python
Python3内置模块random随机方法小结
2019/07/13 Python
简单介绍python封装的基本知识
2019/08/10 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
护士长竞聘演讲稿
2014/04/30 职场文书
学雷锋标语
2014/06/25 职场文书
企业标语大全
2014/07/01 职场文书
物理课外活动总结
2014/08/27 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
小浪底导游词
2015/02/12 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
汽车销售员工作总结
2015/08/12 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
python元组打包和解包过程详解
2021/08/02 Python
关于python爬虫应用urllib库作用分析
2021/09/04 Python
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang