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 图片验证码代码分享
Jul 04 Python
python引用DLL文件的方法
May 11 Python
django用户注册、登录、注销和用户扩展的示例
Mar 19 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
python爬虫 正则表达式解析
Sep 28 Python
Python Selenium参数配置方法解析
Jan 19 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
Python中if有多个条件处理方法
Feb 26 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
Python常用模块介绍
2014/11/21 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
Python上下文管理器和with块详解
2017/09/09 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
学python需要去培训机构吗
2020/07/01 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
文体活动实施方案
2014/03/27 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
勤奋学习演讲稿
2014/05/10 职场文书
敬老院标语
2014/06/27 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
教师党员整改措施
2014/10/24 职场文书
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技