Hi,大家好!
今天给大家讲解一个简单又真实的案例,如何使用Excel
、Python
动态获取指定文件夹下文件名和文件路径,生成一个文件目录,点击相应的文件名即可跳转到相应的文件。通过Excel与Python二者的对比,看哪个更简单,防止老板突然的为难!
excel做这种事要么是用VBA,要么就是用强大的Power Query编辑器,这里我们当时用Power Query编辑器了。
新建一个Excel工作簿,点击【数据
】选项卡,再依次点击【获取数据
】→【来自文件
】→【从文件夹
】
选择文件所在文件夹:
点击【转换数据
】:
进入到【Power Query编辑器
】,在主界面删除不必要的列,留下【文件名称
】列和【文件路径
】列:
接着依次在【主页
】点击【关闭并上载
】→【关闭并上载
】:
成功获取了所有文件的文件名称和文件路径:
而做成一个点击相应的文件名即可跳转到相应的文件的文件目录,还需要添加一个超链接,而超链接刚才已经获取到了,就是文件路径。这里用到函数HYPERLINK(link_location,[friendly_name])
,HYPERLINK
第一个参数可以为文件地址、路径、url,为了能链接到文件,最好在路径上加上文件名;第二个参数为文件名:
python实现链接目录,关键点也是用了Excel的HYPERLINK
函数,其实思路就是用os
获取到文件路径和文件名称,最后再以字符串的方式写入excel中,下面我们来具体操作一下。
导入需要用到的模块,两个模块大家应该都很熟悉了,这里就不再赘述。
import pandas as pd
import os
用os.walk
获取文件夹下的文件名称filenames
和文件路径parent
,当文件夹下还有目录的话,就会生成dirnames
:
# #获取当前路径
file_dir = 'D:\数据小刀\办公自动化\获取文件名称,写入excel,添加超链接\cs'
df = pd.DataFrame()
for parent, dirnames, filenames in os.walk(file_dir):
for filename in filenames:
path = "{}\{}".format(parent, filename) # 形成完整路径
data = pd.DataFrame({'目录': [f'=HYPERLINK("{path}","{filename}")']}) # 和excel中的用法一样
df = pd.concat([df, data]) # 合并表
df.to_excel('new_超链接测试.xlsx',index=False) # 保存
效果与excel一致:
虽然不太明白生成这个有什么用,但让我明白,老板发起疯来什么事都能叫你做...
以上就是本文的全部内容,如果你喜欢今天的内容,请给我点个赞和在看!
本文分享自 Python与Excel之交 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!