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 相关文章推荐
python中使用OpenCV进行人脸检测的例子
Apr 18 Python
在Python的Django框架中编写编译函数
Jul 20 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
Jan 17 Python
python做反被爬保护的方法
Jul 01 Python
python flask框架实现重定向功能示例
Jul 02 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
Python tkinter和exe打包的方法
Feb 05 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
Python flask框架端口失效解决方案
Jun 04 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 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数组应该有多大的分析
2009/07/30 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JS焦点图切换,上下翻转
2011/05/12 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
python中__call__方法示例分析
2014/10/11 Python
Python的Flask开发框架简单上手笔记
2015/11/16 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
美国鲜花递送:UrbanStems
2021/01/04 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
工程技术员岗位职责
2014/03/02 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
股东协议书范本
2014/04/14 职场文书
珍惜资源的建议书
2014/08/26 职场文书
企业2014年度工作总结
2014/12/10 职场文书
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript