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中将字典转换成其json字符串
Jul 16 Python
Python实现从url中提取域名的几种方法
Sep 26 Python
python实现调用其他python脚本的方法
Oct 05 Python
Python中利用sorted()函数排序的简单教程
Apr 27 Python
详解Python的Flask框架中的signals信号机制
Jun 13 Python
Python空间数据处理之GDAL读写遥感图像
Aug 01 Python
简单分析python的类变量、实例变量
Aug 23 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
Tensorflow全局设置可见GPU编号操作
Jun 30 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 Python
python爬虫判断招聘信息是否存在的实例代码
Nov 20 Python
浅析Python中的套接字编程
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
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
js仿360开机效果
2019/12/26 Javascript
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
详解Python进程间通信之命名管道
2017/08/28 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
通过Pandas读取大文件的实例
2018/06/07 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
python 字符串格式化的示例
2020/09/21 Python
python时间time模块处理大全
2020/10/25 Python
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
项目申报专员岗位职责
2014/07/09 职场文书
连锁超市项目计划书
2014/09/15 职场文书
生产操作工岗位职责
2014/09/16 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
关于Vue中的options选项
2022/03/22 Vue.js