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 变量类型及命名规则介绍
Jun 08 Python
记录Django开发心得
Jul 16 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
python实现关键词提取的示例讲解
Apr 28 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
Apr 11 Python
python mysql断开重连的实现方法
Jul 26 Python
python实现在线翻译功能
Mar 03 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
python中if和elif的区别介绍
Nov 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
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
Laravel5中contracts详解
2015/03/02 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
深入解析Python编程中super关键字的用法
2016/06/24 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
pycharm显示远程图片的实现
2019/11/04 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
想学画画?python满足你!
2020/12/24 Python
python excel和yaml文件的读取封装
2021/01/12 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
户籍证明的格式
2014/01/13 职场文书
内勤岗位职责
2015/02/10 职场文书
安全学习心得体会范文
2016/01/18 职场文书
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技