Python学习笔记: 批次将档案名称修改为自动中文姓名_提供未来示範使用

本文同步发表于小弟自架网站(非钓鱼也无广告,纯分享):

微确幸资讯站

本文主要是工作上一些资料用Python程式解决后想做的分享,
但因为档案资料等不便于网路公开,
所以就用Python先将档案名称修改一下,
以便于日后运用与分享。

原始资料夹档案状况:
http://img2.58codes.com/2024/201223355OHl3WbL6Z.jpg

以下为程式:

import globimport osimport repath = 'd:\\temp\\test\\'files = glob.glob(path + '*')print(files)

http://img2.58codes.com/2024/20122335P8Kx6WxBWl.jpg

接下来是用以前分享过的中文姓名自动产生器爬虫,自动产生中文姓名。

import requestsimport pandas as pd# 设定time为获取中文姓名100笔的倍数。time=3,就是300笔的意思。times = 1cnames = []for x in range(times):    url = 'http://www.richyli.com/name/index.asp'    r = requests.get(url)    r.encoding = 'big5'        # 将网页中的资料以分行的方式存成文字档    result = r.text.splitlines()        # 114是中文姓名开始的列,找到最后一个「、」,设定成为字串的切片位置。    char_index = result[114].rfind("、")    temp = result[114][:char_index]        # 将temp的100笔姓名新增到cnames中    cnames.append(temp)# 将每100笔姓名的list加一个「、」,再组合成字串存到my_names中my_names = "、".join(str(x) for x in cnames)print(my_names)

http://img2.58codes.com/2024/20122335VQZJ34ivEH.jpg

# 将上面的姓名生成dataframedf_name = pd.DataFrame(my_names.split('、'), columns=['姓名'])print(f'中文姓名笔数:{len(df_name)}')# 将姓名做成listmy_list = df_name.姓名.values.tolist()print(my_list)

http://img2.58codes.com/2024/201223351YU6m0ZYEA.jpg

# 将档名用regex分成三组,第一组为「附件X-X」,第二组为「附件X-X后面的其他档名」,第三组为「.附档名」pattern = '(附件\d+-\d)(.+)(\..+)'n = 0for file in files:    file_name = re.findall(pattern, file)    #print(file_name)    # 将档名前面的附件X-X保留,然后加入"_",再加入中文自动的姓名,再加上附档名    new_file_name = file_name[0][0] + '_' + my_list[n] + file_name[0][2]    os.rename(file, path + new_file_name)    print(f'{file}已完成')    n += 1

d:\temp\test\附件1-1这是示範档案这是示範档案.docx已完成


以下略。

最后输出结果:
http://img2.58codes.com/2024/2012233581o9A5eHWe.jpg

以上即完成本次目标。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章