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模拟登录12306的方法
Dec 30 Python
Python while 循环使用的简单实例
Jun 08 Python
python3音乐播放器简单实现代码
Apr 20 Python
django 常用orm操作详解
Sep 13 Python
python中实现控制小数点位数的方法
Jan 24 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
python 中xpath爬虫实例详解
Aug 26 Python
python实现按首字母分类查找功能
Oct 31 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
通过实例简单了解python yield使用方法
Aug 06 Python
Python3.9新特性详解
Oct 10 Python
Python常用断言函数实例汇总
Nov 30 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
使用Python编写vim插件的简单示例
2015/04/17 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
pytorch之添加BN的实现
2020/01/06 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
基于python3生成标签云代码解析
2020/02/18 Python
python实现logistic分类算法代码
2020/02/28 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
数据库方面面试题
2012/04/22 面试题
办公室文员工作职责
2014/01/31 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书