簡體   English   中英

從文本中讀取部分行

[英]Reading part of lines from a txt

我正在嘗試讀取一個包含時間、溫度和濕度信息的 txt 文件,這是形狀

07:54:03.383 -> Humidity:38.00%;Temperature:20.50°C;Heat index:19.60°C;
07:59:03.415 -> Humidity:37.00%;Temperature:20.90°C;Heat index:20.01°C;
08:04:03.435 -> Humidity:37.00%;Temperature:20.90°C;Heat index:20.01°C;
08:09:03.484 -> Humidity:37.00%;Temperature:20.80°C;Heat index:19.90°C;

我想在圖表中為每一行推斷 4 個信息和 plot 個信息。 使用 open() 和 fileObject.read() 我可以將 txt plot 放入 VSC 終端,但我不知道如何:

  • 讀取時間並以適當的方式保存(以“:”分隔)
  • 讀取值,例如我可以考慮讀取“濕度”字樣后的前 5 個字符,“溫度”字樣后的前 5 個字符,依此類推。 對於每一行
  • 將它們存儲在適當的向量中,然后 plot 時間的 function 中的 3 路徑。 我正在使用 numpy 作為圖書館。

假設您可以容忍將數據讀入 Python 字符串,我們可以在這里使用re.findall

# -*- coding: utf-8 -*-
import re

inp = """07:54:03.383 -> Humidity:38.00%;Temperature:20.50°C;Heat index:19.60°C;
07:59:03.415 -> Humidity:37.00%;Temperature:20.90°C;Heat index:20.01°C;
08:04:03.435 -> Humidity:37.00%;Temperature:20.90°C;Heat index:20.01°C;
08:09:03.484 -> Humidity:37.00%;Temperature:20.80°C;Heat index:19.90°C;"""

vals = re.findall(r'^(\d{2}:\d{2}:\d{2}(?:\.\d+)?) -> Humidity:(\d+(?:\.\d+)?)%;Temperature:(\d+(?:\.\d+)?)°C;Heat index:(\d+(?:\.\d+)?)°C;', inp, flags=re.M)
print(vals)

這打印:

[('07:54:03.383', '38.00', '20.50', '19.60'),
 ('07:59:03.415', '37.00', '20.90', '20.01'),
 ('08:04:03.435', '37.00', '20.90', '20.01'),
 ('08:09:03.484', '37.00', '20.80', '19.90')]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM