最近在处理数据的时候,发现要批量修改文件名,但是文件量太大,一个一个改太麻烦,于是想到用python编程实现。
总共是90个CSV文件,我要把名字里的横杠去掉才能继续后面的处理。用python怎么操作呢?
很简单,首先导入python自带的os模块
import os
然后获取要修改的所有文件名:
file_names = os.listdir('data/050300')
listdir方法可以获取‘data/050300’路径下的所有文件名,返回的是一个列表。这里使用的是相对路径,即代码跟文件夹data是在同一文件夹下。也可以粗暴一点直接使用绝对路径,使用绝对路径绝对错不了。
得到的file_names是一个列表,列表是可迭代的,所以接下来用一个for循环遍历file_names下的文件名
for file_name in file_names: new_name = file_name.replace('_','')
遍历得到单个文件名file_name,是个字符串,可以用字符串的replace方法将文件名中的“_”替换成空字符,得到新的文件名new_name。
得到new_name之后就可以开始更名了,更名操作使用os.rename方法
os.rename('data/050300/'+file_name,'data/050300/'+new_name)
renam方法需要两个参数,一个是改名前的路径,另一个是改名后的路径。当然这个路径是文件夹路径加文件名构成的。
到这里,打开文件夹,就可以看到所有的文件都改名成功了,最多一分钟。
所以,编程作为一个工具,是很值得学习的,非常有利于帮助我们提高效率,尤其是一些机械化的重复化操作。