我的字符串如下
Module Available Used Remaining
(Watts) (Watts) (Watts)
------ --------- -------- ---------
1 485.0 0.0 485.0
我需要在Used
下提取值。我试图分裂字符串。有没有更好的方法来获得价值?
答案 0 :(得分:2)
使用str.split
<强>演示:强>
s = """Module Available Used Remaining
(Watts) (Watts) (Watts)
------ --------- -------- ---------
1 485.0 0.0 485.0"""
for i in s.split("\n"):
if i.strip()[0].isdigit():
val = i.split()
print(val[2])
使用正则表达式:
import re
val = re.findall("\d+\s+\d*\s+\d*\.\d*\s+\d*\.\d*\s+\d*\.\d*", s)
for v in val:
print(v.split()[2])
<强>输出:强>
0.0
答案 1 :(得分:0)
也许这个是一个矫枉过正,但您可以使用pandas读取数据框中的字符串,然后获得所需的值:
import io
import pandas as pd
your_string = io.StringIO("""Module Available Used Remaining
(Watts) (Watts) (Watts)
------ --------- -------- ---------
1 485.0 0.0 485.0""")
df = pd.read_csv(your_string,
sep=" ",
skipinitialspace=True,
skiprows=[1, 2])
df
将如下所示:
Module Available Used Remaining
0 1 485.0 0.0 485.0
和
print(df.loc[0, 'Used'])
会给你0.0
。
P.S。:这是基于问题的the following答案&#34;如何从字符串创建Pandas DataFrame&#34;。