温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用python怎么批量将xls文件转换成csv文件

发布时间:2021-02-25 15:50:36 来源:亿速云 阅读:763 作者:戴恩恩 栏目:开发技术

本文章向大家介绍利用python怎么批量将xls文件转换成csv文件的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Python主要用来做什么

Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。

#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文件的全部内容了,希望大家多多支持亿速云!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI