python 实现批量xls文件转csv文件的方法
作者:浮沙沉海 发布时间:2023-08-29 10:25:26
标签:python,xls,csv
引言:以前写的一个批量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()
来源:https://blog.csdn.net/lishenluo/article/details/79244176
0
投稿
猜你喜欢
- 【原文地址】New C# "Orcas" Language Features: Automatic Properties
- <% '#######以下是一个类文件,下面的注解是调用类的方法#########################
- 最近越来越多在博客上写些UX相关的内容作为分享,就涉及到跟普通博文不一样的文章建构问题。文章内容固然很重要,但排版、组织也是提高可读性和用户
- 打开在节点中加入一句:max_allowed_packet=5M 将MySQL的容量扩大到5M  
- 原理:第一步:应用程序把查询SQL语句发给服务器端执行。我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给
- 在官网下载源码包:https://www.php.net/downloads.php步骤:1、解压命令:tar -xjvf php.tar.
- 本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法。分享给大家供大家参考。具体如下:将浏览历史页面网址保存到cookie,大
- 1. go的依赖管理发展GOPATH 所有的依赖都放置在同一路径下,可以复用下载的依赖,但是当不同项目需要依赖不同版本的依赖时,就很容易出现
- 刚刚登甲发来一个文章,看到只要一行代码,就可以把IE6弄死.<style>*{position:relative}&
- 昨天有位同事说,他的网页查询过程中发现普通索引和唯一索引的效率是有差别的,普通索引比唯一索引快,今天在我的虚拟机中布置了环境,测试抓图如下:
- 本来想等到IE8正式发布时再在blog中写段代码,用来提示IE6用户升级到IE8的,不过貌似IE 8已经RTM了,今天又正好看到这个“升级I
- 很早之前就在PJ的blog上看到可以用VS2005调试ASP程序,但是没有写出具体的步骤,后来一次偶尔也让我找到了方法,但是一直没把它写出来
- 首先说明,伪造访问来路不是什么光明正大的事情,目的就是为了欺骗服务器。原本以为给 XMLHTTP 对象增加一个 Referer 的heade
- 1.11 – 添加缎带修饰网页局部模块中右上角的蓝色缎带修饰是这个网站界面设计中的一个亮点,只要合理的运用CSS、PNG透明图片和绝对定位属
- NopCommerce为了实现松耦合的框架设计目的,使用了IOC框架:Autofac。据有人测试,Autofac是性能很好的IOC工具。1、
- 说完了理论,我们来做点实事。这篇文章将介绍使用 Javascript 实现的动画组件。下面记录下当时编写这个组件的考虑的些问题,对技术细节感
- 是不是有这么一个场景,对外提供一堆数据或者是要返回给用户一个结果。但是不想把内部的一些数据和逻辑暴露给对方。。。简单点来说,就是想以服务的方
- 目的现有两幅栅格图像,一个是某地区道路栅格图,一个是某地区土地利用类型图,需要将道路叠加到土地利用类型图中,即叠加后,重合的像元值以道路图为
- 加班时抽空弄的,javascript图片链接定时轮换,自适应图片大小,支持预载,进行了简单封装,方便调用。发现自己还是菜得很,一个简单效果被
- MYSQL在一个字段值前面加字符窜,如下:member 表名card 字段名update member SET card = '00