<p>我不熟悉OLS和Plotly,我认为可能有一种更简单的方法来访问这些值,但只是从文本中提取它们,您可以使用如下<a href="https://docs.python.org/3/howto/regex.html" rel="nofollow noreferrer">regex</a>:</p>
<pre class="lang-py prettyprint-override"><code>import re
text = '<b>OLS trendline</b><br>Observations = 0.000411 * Date + -603422.036990<br>R<sup>2</sup>=0.952751<br><br>Date=%{x}<br>Observations=%{y} <b>(trend)</b>'
numbers = re.findall("(-?\d[\d.]+)", text)
first_value = numbers[0] # 0.000411
second_value = numbers[1] # -603422.036990
</code></pre>
<p>请注意,这不适用于科学记数法中的数字,或者如果文本中要提取的数字之前有其他数字(如果需要,可以通过使模式更复杂来解决这两个问题)</p>
<p>不使用正则表达式,您可以执行以下操作</p>
<pre class="lang-py prettyprint-override"><code>first_value = text.split('Observations = ', 1)[1].split(' ')[0]
second_value = text.split('Date + ', 1)[1].split("<br")[0]
</code></pre>
<p>但我反对这种做法,因为它很快就会变得混乱和脆弱</p>
<p>另一种选择是使用<a href="https://pypi.org/project/parse/" rel="nofollow noreferrer">parse</a>库</p>
<pre class="lang-py prettyprint-override"><code>n1, n2 = parse.search("<br>Observations = {} * Date + {}<br>", text)
</code></pre>