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模拟百度登录实例详解
Jan 20 Python
python版简单工厂模式
Oct 16 Python
Python之web模板应用
Dec 26 Python
Django框架教程之正则表达式URL误区详解
Jan 28 Python
python3判断url链接是否为404的方法
Aug 10 Python
selenium+python实现自动化登录的方法
Sep 04 Python
python 自动轨迹绘制的实例代码
Jul 05 Python
Python : turtle色彩控制实例详解
Jan 19 Python
Python多个装饰器的调用顺序实例解析
May 22 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 Python
python文件与路径操作神器 pathlib
Apr 01 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中数组首字符过滤功能代码
2012/07/31 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
用javascript做拖动布局的思路
2008/05/31 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
JQuery小知识
2010/10/15 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python对字典进行排序实例
2014/09/25 Python
Python实现读取并保存文件的类
2017/05/11 Python
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
python3处理word文档实例分析
2020/12/01 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
人力资源专员自我评价怎么写
2013/09/19 职场文书
应届生求职推荐信
2013/10/28 职场文书
学习十八大报告感言
2014/02/04 职场文书
应届毕业生自荐书
2014/06/18 职场文书
员工年终考核评语
2014/12/31 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
交通安全教育心得体会
2016/01/15 职场文书
学前班教学反思
2016/02/24 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS