# 提取出所有站点号 (sta, slo, sla, slev1) = np.loadtxt(r'F:\extreme_pr\172_1.csv', skiprows=0, delimiter=',', unpack=True) print(sta) # 列出文件夹中的所有文件 folder_path = r'F:\extreme_pr\08_20_result_merge' files = os.listdir(folder_path) #print(files) # 筛选出包含站点名的文件名 for file_name in files: for site_name in str(sta): if site_name in file_name: print(file_name) break 提取失败
时间: 2024-03-27 22:38:49 浏览: 93
sta_lta.zip_STA-LTA_sta_lta.m_telephonezx9_twelvesen_zip
5星 · 资源好评率100%
根据你提供的代码,我看到你是想从文件名中提取包含站点号的文件名。但是,你的代码中有一些问题。首先,str(sta)会将所有站点号转化为一个字符串,这不是你想要的结果。其次,你的代码并没有考虑到站点号的格式,可能会导致错误的匹配。
你可以尝试以下代码:
```python
import os
import re
# 从csv文件中读取站点号
sta, slo, sla, slev1 = np.loadtxt(r'F:\extreme_pr\172_1.csv', skiprows=0, delimiter=',', unpack=True)
# 将站点号转换为字符串列表
sta_str = [str(int(s)).zfill(3) for s in sta]
# 列出文件夹中的所有文件
folder_path = r'F:\extreme_pr\08_20_result_merge'
files = os.listdir(folder_path)
# 筛选出包含站点名的文件名
for file_name in files:
for site_name in sta_str:
if re.search(site_name, file_name):
print(file_name)
break
```
这段代码首先将站点号转换为3位数的字符串,并存储在一个列表中。然后,使用正则表达式在文件名中搜索站点号,避免了你在代码中遇到的问题。
阅读全文