python文件课代表的偷懒大法2

白癜风专家郑华国 http://m.39.net/pf/a_5123406.html

python文件批量操作

某班级人员情况如下:

作业上交情况:

要求

自动补齐文件名称

统计班级作业上交情况

批量转为pdf

文件名称称补齐

首先确定好学号列表,姓名列表。

使用pandas方法读取G:/名单,注意要将numpy转为列表类型,否则不能使用index()进行定位。

操作如下:

importpandasaspd

f=g:/名单.xlsxdf=pd.read_excel(f)num_list1=df[学号].values#获取学号那一列的数值num_list1=num_list1.tolist()#numpy转为列表num_list=[str(i)foriinnum_list1]#将学号转为字符串类型print(num_list)name_list=df[姓名].values#获取姓名那一列数值name_list=name_list.tolist()#numpy转为列表print(name_list)all_list=[str(num_list[i])+name_list[i]foriinrange(len(num_list))]print(all_list)

输出结果:

[,,,,,,,,,,,,,][小阿,小忠,小军,小红,小明,小鑫,小刘,小谭,小伯,小涵,小灿,小蔡,小达,小悦][小阿,小忠,小军,小红,小明,小鑫,小刘,小谭,小伯,小涵,小灿,小蔡,小达,小悦]

对不符合要求的文件进行重命名

os.listdir(path)获取path路径下的文件名称

os.rename(oldname,newname),对文件进行重命名。

#python自动补齐文件名称importosdeffun(list_index):

oldname=path+/+inewname=path+/+all_list[list_index]+.docxos.rename(oldname,newname)#修改文件名称print(newname+已修改)

path=g:/作业f=os.listdir(path)foriinf:

ifi[:-5]inname_list:name_index=name_list.index(i[:-5])fun(name_index)elifi[:-5]innum_list:num_index=num_list.index(i[:-5])fun(num_index)elifi[:-5]inall_list:continueelse:print(i[:-5]+非法命名)

运行结果:

运行后文件名称均已经补齐

统计上交结果果

方法类似于上一篇文章:

完整代码:

#python自动补齐文件名称importos

path=g:作业f=os.listdir(path)foriinall_list:

i=i+.docxifiinf:print(i[:-5]+已提交)else:print(i[:-5]+\[1;32;43m未提交\[0m)

运行结果:

文件件转PDF

单个转pdf比较简单,但是文件数量过多可以借助工具实现。

实现原理??:重命名,将后缀改为pdf

使用函数:copy()

代码:

#一键批量转pdfimportshutilimportos

path=g:/作业#存放word的文件夹newpath=g:/作业pdf#存放pdf的文件夹f=os.listdir(path)foriinf:

oldname=path+/+inewname=newpath+/+i[:-5]+.pdfshutil.copy(oldname,newname)#复制word并且修改文件后缀print(newname+生成成功)

运行结果:

但是打开pdf时却会报错!!

可以发现这个pdf文件是无法打开的,目前在python中针对word转pdf的库还是有很多的,下期会讲解一下,如何使用python实现批量转pdf。

????

PYTHONCLUB欢迎加入预览时标签不可点收录于话题#个上一篇下一篇



转载请注明地址:http://www.sanbaicaoasb.com/scls/7899.html
  • 上一篇文章:
  • 下一篇文章:
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章