python批量读取文件名及后缀

数据分析时,经常会批量读取文件,主要有一下方法:

① 批量读取文件名(包含后缀)

引用语法:os.listdir(path)

函数用途:输出路径下所有文件的文件名,包含后缀,该路径下的子文件夹也会被读取

import os
path = "E:/vs_code/qtVideo/lib"
datanames = os.listdir(path)
for i in datanames:
    print(i)

输出结果:请输入文件路径:D:\pythonProject\十三#CMS


D:\pythonProject\十三#CMS\INFO_20220420001427-20220421091419.txt
D:\pythonProject\十三#CMS\INFO_20220420051502-20220421091538.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_0_20220421091538.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_133.848_20220420211441.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_187.902_20220420051502.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_2.574_20220420131504.txt
 

Process finished with exit code 0

② 筛选出特定文件名的文件

import os
path = (input('请输入文件路径:'))
data_names = os.listdir(path)
for i in data_names:
    data_names_path = os.path.join(path, i)
    if '加速度' in data_names_path:
        print(data_names_path)

输出:

请输入文件路径:D:\pythonProject\十三#CMS
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_0_20220421091538.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_133.848_20220420211441.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_187.902_20220420051502.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_2.574_20220420131504.txt
 

Process finished with exit code 0

③读取文件名,将路径与文件名连接在一起,并筛选掉不需要的文件,形成新的列表

# # 读取文件名,并将文件名加上路径做成列表
file_path = (input('请输入文件路径:'))  # 输入文件所在路径
file_lis = pd.DataFrame(os.listdir(file_path))  # 将所在路径文件组成一个表格
for i in range(max(file_lis.index)+1):
    name = file_lis.iat[i, 0]
    name_path = os.path.join(file_path, name)
    file_lis.iat[i, 0] = name_path
file_list = file_lis[file_lis[0].str.contains('加速度')]
print(file_list)

输出结果:

请输入文件路径:D:\pythonProject\十三#CMS
                                                    0
2   D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...
3   D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...
4   D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...
5   D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在Python读取文件而不包含扩展,你可以使用`os.path.splitext`函数。这个函数会将文件分割成文件和扩展两部分,并以元组的形式返回。你可以通过取元组中的第一个元素来获取文件。下面是一个示例代码: ```python import os filename = "test.xml" name = os.path.splitext(os.path.basename(filename))[0] print(name) ``` 这段代码将输出`test`,即文件不包含扩展的部分。首先,`os.path.basename`函数用于获取文件,然后`os.path.splitext`函数用于将文件分割成文件和扩展两部分。最后,我们通过索引``取得文件部分。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [python获取文件,不带后缀(扩展)](https://blog.csdn.net/m0_74195873/article/details/128916562)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python 读取文件字(不包括后缀)并保存为txt文件](https://blog.csdn.net/GREEN_cq/article/details/126519846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值