python 实现批量xls文件转csv文件的方法


Posted in Python onOctober 23, 2018

引言:以前写的一个批量xls转csv的python简单脚本,用的是python2.7

#coding=utf-8
import os
import time
import logging
import xlrd
import csv
 
#xls文件存放路径
INPUTPATH= u"D:\\lsssl\\桌面\\xls文件"
 
#生成的csv文件存放路径
OUTPATH = u"D:\\lsssl\桌面\\csv"
 
 
class changeCenter:
 def __init__(self):
  pass
 def getvalue(self,filename):
  self.mData = []
  xlsfile=xlrd.open_workbook(filename)
  table = xlsfile.sheet_by_index(0)#sheet1
  rownum = table.nrows #行
  colsnum = table.ncols #列
  for i in range(0,rownum):
   row = []
   for j in range(0,colsnum):
    value = table.cell_value(i,j)
    if not isinstance(value,float):
     value = value.encode('gbk')#非数字转一下码
    row.append(value)
   self.mData.append(tuple(row))
 def write(self, path, filename):
  if not os.path.exists(path):
   os.makedirs(path)
  csvfile = file("tmp","wb")
  writer = csv.writer(csvfile)
  writer.writerows(self.mData)
  csvfile.close()
  
  if os.path.exists(os.path.join(path,filename+".old")):
   os.remove(os.path.join(path,filename+".old"))
  if os.path.exists(os.path.join(path,filename)):
   os.rename(os.path.join(path,filename),os.path.join(path,filename+".old"))
  os.rename('tmp', os.path.join(path,filename))
  logging.info("write file finish")
  print "write",filename," finish"
 
 
def handleExcel():
 files,dirs,root = readFilename(INPUTPATH)
 for fi in files:
  strstock = os.path.join(INPUTPATH,fi)
  if os.path.exists(strstock):
   st = changeCenter()
   st.getvalue(strstock)
   name = fi.replace(".xls","")
   st.write(OUTPATH, name+".csv")
  else:
   print strstock+" don't exist"
 
#获取某个路径下的所有文件 
def readFilename(file_dir):
 for root, dirs, files in os.walk(file_dir): 
  return files,dirs,root
 
if __name__ == '__main__':
 handleExcel()

以上这篇python 实现批量xls文件转csv文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Linux CentOS7下安装python3 的方法
Jan 21 Python
Python序列循环移位的3种方法推荐
Apr 09 Python
Python之读取TXT文件的方法小结
Apr 27 Python
python使用opencv驱动摄像头的方法
Aug 03 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
python中update的基本使用方法详解
Jul 17 Python
Python imread、newaxis用法详解
Nov 04 Python
python实发邮件实例详解
Nov 11 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
PyQt5实现简单的计算器
May 30 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
Python中Selenium库使用教程详解
Jul 23 Python
python 把列表转化为字符串的方法
Oct 23 #Python
python 将list转成字符串,中间用符号分隔的方法
Oct 23 #Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 #Python
python 拼接文件路径的方法
Oct 23 #Python
python 将列表中的字符串连接成一个长路径的方法
Oct 23 #Python
Python运行不显示DOS窗口的解决方法
Oct 22 #Python
python批量赋值操作实例
Oct 22 #Python
You might like
php判断linux下程序问题实例
2015/07/09 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
一个js的tab切换效果代码[代码分离]
2010/04/11 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
医学毕业生自我鉴定
2013/10/30 职场文书
大四学生毕业自荐信
2013/11/07 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
《画风》教学反思
2014/04/16 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
Pygame Rect区域位置的使用(图文)
2021/11/17 Python
java版 联机五子棋游戏
2022/05/04 Java/Android
python playwright之元素定位示例详解
2022/07/23 Python