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字符串连接的N种方式总结
Sep 17 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
详解Python中is和==的区别
Mar 21 Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
Python实现图像的垂直投影示例
Jan 17 Python
基于keras 模型、结构、权重保存的实现
Jan 24 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 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实现excel中rank函数功能的方法
2015/01/20 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
python中subprocess批量执行linux命令
2018/04/27 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
详解python的argpare和click模块小结
2019/03/31 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
自动化毕业生专业自荐书范文
2014/02/04 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server