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


猜你喜欢
- 生成方式Python中想要自动生成 model文件可以通过 sqlacodegen这个命令来生成对应的model文件sqlacodegen
- createTrackbar是Opencv中的API,其可在显示图像的窗口中快速创建一个滑动控件,用于手动调节阈值,具有非常直观的效果。具体
- 有如下 borg pattern 的实现:class Borg(object): __shared_state = {}def
- 系列目录:1. 服务器XMLHTTP(Server XMLHTTP in ASP)基础2. 
- 主要原理:调整dicom的窗宽,使之各个像素点上的灰度值缩放至[0,255]范围内。使用到的python库:SimpleITK下面是一个将d
- 迭代首先理解下什么是迭代,python中所有从左往右扫面对象的方式都是可迭代的有哪些方式是可迭代的:1.文件操作 我
- 正在看的ORACLE教程是:在ORACLE移动数据库文件。  
- 1. 准备工作下载源码包wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.b
- 字符串遍历>>> a_str = "hello itcast">>> for cha
- 简易网页搜集器前面我们已经学会了简单爬取浏览器页面的爬虫。但事实上我们的需求当然不是爬取搜狗首页或是B站首页这么简单,再不济,我们都希望可以
- 1、使用MySQLdb读取出来的数据是unicode字符串,如果要写入redis的hash中会变成"{u'eth0_out
- 我页面上有控制了只能输入数字的控件,禁止了输入法切换的,但是搜狗的云输入却控制不了,有没有办法在页面里面禁止它运行啊?发现这玩意儿真的很讨厌
- 写完调用天气接口的demo之后,小程序调用天气接口并且渲染在页面,顺便再调用了一下美图的接口API:美图APIurlwxml:<vie
- 本文实例讲述了python获取文件版本信息、公司名和产品名的方法,分享给大家供大家参考。具体如下:该python代码可得到文件版本信息、公司
- 下载8000首儿歌的python的代码:#-*- coding: UTF-8 -*-from pyquery import PyQuery
- 一 MySQL WorkbenchMySQL Workbench提供DBAs和developers一个集成工具环境:1)数据库设计和建模2)
- 下面代码的功能是先训练一个简单的模型,然后保存模型,同时保存到一个pb文件当中,后续可以从pd文件里读取权重值。import tensorf
- <? //以树型结构列出指定目录里的所有文件,如果你想知道自己某个目录里有哪些子目录和文件,可以调用这个类来查看,很方便的。 &nbs
- 1.进入Mysqld如果已经设置Mysql/Bin环境变量,直接在CMD里输入命令,如果没有设置Mysql环境变量,去Mysql安装目录的B
- ASP编写完整的一个IP所在地搜索类的修正文稿修正了查询方法,查询的方法和追捕的一致;只是追捕会自动更正IP。还有个函数的书写错误,也已经修