python提取文件中类型为numid的数据,不使用pandas库
时间: 2024-11-05 18:28:35 浏览: 12
Raspberry-Pi-Alarm-Clock:一个 WIP 闹钟
在Python中,如果你想要从文本文件中提取特定类型的数值数据,但不使用pandas库,可以使用内置的`re`模块(正则表达式库)配合`open()`函数逐行读取文件内容。首先,假设你的文件是以某种分隔符(如逗号、制表符或空格)分隔的,并且数值数据通常包含在字符串中,你可以尝试这样做:
```python
import re
def extract_numid_from_file(file_path):
num_pattern = r'\b\d+(\.\d+)?\b' # 正则表达式匹配数字,包括小数点
with open(file_path, 'r') as file:
for line in file:
matches = re.findall(num_pattern, line)
# 提取所有找到的数值并存储
numid_values = [float(match) if match else None for match in matches]
yield numid_values # 返回每行的数值列表
# 使用提取函数
for line_data in extract_numid_from_file('your_file.txt'):
print(line_data) # 输出每一行的数值,如果未找到则为None
```
这个例子中,`re.findall()`会返回每行中所有匹配到的数字。注意,这将处理整数和浮点数。如果你的数据有更复杂的格式,比如科学记数法或其他特殊格式,你可能需要调整正则表达式。
阅读全文