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获取Windows或Linux主机名称通用函数分享
Nov 22 Python
浅谈Python中copy()方法的使用
May 21 Python
简单谈谈Python中的闭包
Nov 30 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
分析Python中解析构建数据知识
Jan 20 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
Jul 19 Python
python实现微信小程序用户登录、模板推送
Aug 28 Python
Python ORM编程基础示例
Feb 02 Python
OpenCV 之按位运算举例解析
Jun 19 Python
Python操作Elasticsearch处理timeout超时
Jul 17 Python
搭建pypi私有仓库实现过程详解
Nov 25 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 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中count获取多维数组长度的方法
2014/11/03 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
跟老齐学Python之永远强大的函数
2014/09/14 Python
用pycharm开发django项目示例代码
2019/06/13 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
使用Python实现画一个中国地图
2019/11/23 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
结婚周年感言
2014/02/24 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
部门2015年度工作总结
2015/04/29 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript