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中MYSQLdb出现乱码的解决方法
Oct 11 Python
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
在Python的Flask框架中构建Web表单的教程
Jun 04 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
python利用selenium进行浏览器爬虫
Apr 25 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
django美化后台django-suit的安装配置操作
Jul 12 Python
Python爬取网页信息的示例
Sep 24 Python
Python基础之元组与文件知识总结
May 19 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 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中使用模板的方法
2008/05/24 PHP
深入apache host的配置详解
2013/06/09 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
php eval函数一句话木马代码
2015/05/21 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
jquery下json数组的操作实现代码
2010/08/09 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
详细讲解vue2+vuex+axios
2017/05/27 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
2015年五一劳动节演讲稿
2015/03/18 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
2015初中团委工作总结
2015/07/28 职场文书
会议室使用管理制度
2015/08/06 职场文书
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android
介绍一下28个JS常用数组方法
2022/05/06 Javascript
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技