文件夹里有很多个csv文件,可是我都只需要读取表头,如果每次读文件都要写打开文件,读取,关闭文件,这样代码重复率太高了,那么有什么办法可以轻松一点呢?
先看我的文件目录:
不多说,上代码:
import glob
#写你自己的csv文件的目录,我用的是绝对路径,这里也可以用相对路径
#因为我用相对路径去索引我的文件很麻烦,不想移动文件的位置
path="C:\你好"
#下面这两行是核心喔
filenames=glob.glob(path + "\*.csv")
for filename in filenames:
f=open(filename,'r',encoding="utf-8")
rows1=f.readline().strip()
f.close()
就是使用glob函数,glob函数的具体用法我这里不介绍,自行查找。这样,通过循环就可以自行遍历目录下面的每一个文件了。
那么,要是文件放在多个目录下面怎么办?
再来一个循环就好了,前提是你的目录有规律,哈哈,比如这样:
那么,我们可以这样做:
for i in range(1,5):#range是左闭右开
path=r"G:\part0"+str(i)+r"\Chaing"
就可以遍历目录part1-4了,然后接前面的循环,就解决了。总体代码:
for i in range(1,5):#range是左闭右开
#str(i)将数字化为字符串,不然报错
path=r"G:\part0"+str(i)+r"\Chaing"
filenames=glob.glob(path + "\*.csv")
#写的是同一个文件,所以放在下面这个循环前面
#而读取的每次是不同的文件,所以放在下面的循环里面,至于1、2,反应了我写代码的时候的顺序,哈哈哈哈
f2=open("myFormalData2.csv",mode='a')
for filename in filenames:
f=open(filename,'r',encoding="utf-8")
rows1=f.readline().strip()
#lst=str(rows1).split(",")
print(rows1)
f2.write(rows1)
f2.write("\n")
f2.close()
有用的话,就点个赞叭!
更多推荐
05 Python如何一次性轻松读取多个不同目录下的文件?
发布评论