我们有一系列吸收谱数据的文件,我们需要从文件路径中提取化学式(chemical formulas)并将它们存储到一个列表中。 这些文件存储在不同层级的文件夹中,但文件名始终为`[formula]_[date].txt`这种格式。 此外,我们还希望以带有连字符的格式`MM-DD-YY`来存储这些文件的收集日期,而不是程序默认生成的下划线。 基于这些文件名的`data`输入列表如下: ```python data = ['path/to/absorption/data/Si_06_28_21.txt',
时间: 2024-02-18 09:03:25 浏览: 24
你可以使用 Python 中的正则表达式模块 re 来提取文件名中的化学式和日期信息,然后将它们添加到一个字典中存储。以下是一个示例代码:
```python
import os
import re
data = ['path/to/absorption/data/Si_06_28_21.txt', 'path/to/absorption/data/Fe2O3_06_29_21.txt', 'path/to/absorption/data/NaCl_07_01_21.txt']
file_info = []
for file_path in data:
# 从文件路径中提取文件名
file_name = os.path.basename(file_path)
# 使用正则表达式提取化学式和日期信息
pattern = r'([\w\d]+)_([\d]{2})\_([\d]{2})\_([\d]{2})\.txt'
match = re.match(pattern, file_name)
if match:
formula = match.group(1)
month = match.group(2)
day = match.group(3)
year = match.group(4)
# 将日期信息转换为 MM-DD-YY 格式
date = f"{month}-{day}-{year}"
# 将化学式和日期信息存储到字典中
file_dict = {'formula': formula, 'date': date}
file_info.append(file_dict)
# 打印文件信息列表
print(file_info)
```
上面的代码会遍历 `data` 列表中的所有文件路径,从每个文件路径中提取文件名,使用正则表达式提取化学式和日期信息,将日期信息转换为 MM-DD-YY 格式,然后将化学式和日期信息存储到一个字典中,最终将所有字典存储到一个列表中。你可以根据需要修改代码中的文件名和路径。