结合下面的代码学习相关模块及函数方法的使用

#coding:utf-8
#导入相应模块
import csv
import xlwt
import sys
import os
import fnmatch #另存为文件名
def ex_file(mycsvfile):
csvfile = open(mycsvfile,"rb")
#csvfile = open("test.csv","rb")
#新建excel文件
myexcel = xlwt.Workbook()
#新建sheet页
mysheet = myexcel.add_sheet("data")
#获取csv的文件绝对路径及文件名不包括后缀,
   及os.path.splitext(“文件的绝对路径”)
   返回的是一个含有两个元素的列表,
portion[0]是包含文件名的值,portion[1]是“.后缀”
portion = os.path.splitext(mycsvfile)
#读取文件信息
reader = csv.reader(csvfile)
l = 0
#通过循环获取单行信息
for line in reader:
r = 0
#通过双重循环获取单个单元信息
for i in line:
#通过双重循环写入excel表格
mysheet.write(l,r,i)
r=r+1
l=l+1
#最后保存到excel,以原有文件名保存,更换后缀
myexcel.save(portion[0]+".xls")
print portion[0] + '.xls' +u"保存成功!" #文件路径处理函数
def iterfindfiles(path, fnexp):
#os.walk() 函数返回三个函数,root就是path的的路径本身及 其下所有文件夹的路径了,
dir是path下面的文件夹名,没有就是一个空列表[],files是path以及path下的文件夹下的文件列表集合
#这样相当于遍历了path路径下的所有文件,这些可以通过print 他们的返回值来查看
for root, dirs, files in os.walk(path):
#fnmatch.filter(,) 返回值是得到的后缀为fnexp的文件 列表信息。
      即在文件名包括后缀的files列表中匹配后缀为fnexp参数值的文件组成新的列表赋值给filename
for filename in fnmatch.filter(files, fnexp):
#root为当前遍历时的路径,这里的os.path.join()方法是件root路径和filename拼接为文件的绝对路径
#yield 是为函数iterfindfiles()的返回值追加数据的有迭代的意思,每次循环就返回一个返回值,一直追加返回
yield os.path.join(root, filename)
#批量处理
if __name__=="__main__":
#输入要转换文件的路径
path=raw_input("Please enter a path:")
#数据要转换文件的文件名因为是批处理,所以使用通配符 “*”号 “*.csv” 表示目标路径下的所有csv格式文件
fnexp=raw_input("Please enter a fnexp:")
#调用文件处理函数
for filename in iterfindfiles(path, fnexp):
#filename 是接收返回值列表的,返回一个值调用一次ex_file()函数,并把返回值作为参数
ex_file(filename)
raw_input ('please enter to exit')

代码中用到的函数说明

1、os.walk(path)

import os  

for root, dirs, files in os.walk(r'D:\testDemoCode'):  

  print root   #当前遍历到的目录的根  

  print dirs   #当前遍历到的目录的根下的所有目录的名称,存储到列表中 

  print files  #当前遍历到的目录的根下的所有文件名包括后缀,存储到列表中

2、fnmatch.filter(files, fnexp)

  在files文件列表中匹配后缀为fnexp的文件,并把匹配到的结果返回到一个列表中

3、os.path.join(root, filename)

  把文件名filename和文件路径root拼接在一起作为一个整体

4、yield

  yield相当于一个迭代器,会把返回值一个一个的返回给主函数

5、os.path.splitext(mycsvfile)  &&  os.path.split("文件名称")

  分解文件的绝对路径和扩展名的到的是一个列表[]

  fpathandname , fext = os.path.splitext( "你要分解的路径")

  例如:

  a, b = os.path.splitext( "c:\\123\\456\\test.txt" )

  print a

  print b

  显示:

  c:\123\456\test

  .txt

将一个路径名分解为目录名和文件名两部分

  fpath , fname = os.path.split( "你要分解的路径")

  例如:

  a, b = os.path.split( "c:\\123\\456\\test.txt" )

  print a

  print b

  显示:

  c:\123\456

  test.txt

批量处理csv格式转换成xls的更多相关文章

  1. C#返回时间格式转换成 js 字符串

    在.net 中,调用 post 或者 get和后台通信时,如果有时间返回信息,后台返回的时间信息一般是这样格式:Thu Jul 9 23:14:53 UTC+0800 2015,那么要在前台显示就会有 ...

  2. json格式转换成Map的应用

    jsp 1.引用json.js(将json格式转换成字符串) 2. var name = document.getElementById("name").value; var re ...

  3. linux环境下deb格式 转换成rpm格式

    linux环境下deb格式 转换成rpm格式 使用alien工具转换deb格式到rpm格式 alien_8.87.tar.gz 下载alien_8.87.tar.gz [root@mysqlnode2 ...

  4. C#使用FFmpeg 将视频格式转换成Gif图片示例

    根据EFmpeg封装的视频转换gif工具:https://my.oschina.net/tianma3798/blog/825317 一.本次使用参数说明 /* * 参数说明: * -i 源文件位置 ...

  5. 怎样将M4A音频格式转换成MP3格式

    因为MP3音频格式应用的广泛性,所以很多时候我们都需要将不同的音频格式转换成MP3格式的,那么如果我们需要将M4A音频格式转换成MP3格式,我们应该怎样进行实现呢?下面我们就一起来看一下吧. 操作步骤 ...

  6. convert 批量文件的格式转换

    1.将 a.gif 转为 png 格式 convert a.gif a.png 请注意,convert 命令的基本格式为 convert 源文件 [参数] 目标文件 在上面的命令中,源文件是 a.gi ...

  7. RSA的密钥把JAVA格式转换成C#的格式(2)

    把C#格式转换成Java:RSA的密钥把JAVA格式转换成C#的格式(1) 我已经在第一篇介绍过如何把C#格式转换成Java,现在来看看如何把Java格式转换成C#. /// <summary& ...

  8. 不用 qlv 格式转换成 mp4 - 优雅的下载腾讯视频(mp4 格式)

    不用 qlv 格式转换成 mp4 - 优雅的下载腾讯视频(mp4 格式) 问题描述: 朋友说离线腾讯视频是 qlv 格式的,只能使用腾讯视频软件打开.让我帮忙想想办法,能不能将 qlv 格式转换成 m ...

  9. (转)json格式转换成javaBean对象的方法

    把json格式转换成javaBean才可以.于是查了一下资料,网上最多的资料就是下面的这种方式: Java code? 1 2 3 4 5 6 7 8 9 String str = "[{\ ...

随机推荐

  1. UVa 11488 - Hyper Prefix Sets

    找 前缀长度*符合该前缀的字符串数 的最大值 顺便练了一下字典树的模板 #include <iostream> #include <cstdio> #include <c ...

  2. CAA调试

    在需要调试的Module(*.m)上右键,选择属性,命令位置选择你的framework目录    路径选择对应工程目录下的\intel_a(或者Win64    --    64位机器) 然后就可以尽 ...

  3. 运行加速多线程和GPU

    http://blog.csdn.net/augusdi/article/details/11883003

  4. Windows下安装PHP扩展及资源下载地址(memcached为例)

    官方下载的php安装包ext目录里以经包含了常用的php扩展,但某些情况下并不能满足我们项目需求,比如memcache扩展就不在官方的php安装包里.这时就需要我们自己去下载安装. 本文列出php官方 ...

  5. 【搜索引擎Jediael开发4】V0.01完整代码

    截止目前,已完成如下功能: 1.指定某个地址,使用HttpClient下载该网页至本地文件 2.使用HtmlParser解释第1步下载的网页,抽取其中包含的链接信息 3.下载第2步的所有链接指向的网页 ...

  6. Python 读取csv文件到excel

    朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...

  7. 命令行参数解析:getopt,getopt_long

    #include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern c ...

  8. Jquery基础之动画操作

    Jquery的动画效果能够轻松的为网页添加动画效果,为网页带来了新的活力. 一.show()方法和hide()方法 show()方法和hide()方法是jquery中最基本的动画方法.使用show() ...

  9. MFC 操作控件数据

    在MFC中有多种获取控件数据的方法 1.GetWindowText()和SetWindowText()函数   ],ch2[],ch3[]; GetDlgItem(IDC_EDIT1)->Get ...

  10. how to remove MouseListener / ActionListener on a JTextField

    I have the following code adding an ActionListener to a JTextField: chatInput.addMouseListener(new j ...