<p>如果我对你的理解正确(虽然我不完全确定我是否理解),这将产生我认为你需要的结果。你知道吗</p>
<pre><code>import re
with open('data.txt', 'r') as f:
f_txt = f.read() # Change file object to text
f_lines = re.split(r'\n(?=\d)', f_txt)
matrix = []
for line in f_lines:
inner1 = line.split('\n')
inner2 = [re.split(r'\s{2,}', l) for l in inner1]
matrix.append(inner2)
print(matrix)
print('')
for row in matrix:
print(row)
</code></pre>
<p>程序输出:</p>
<pre><code>[[['1', 'firm A', 'Manhattan (company name)', '25,000'], ['', 'SK Ventures', '25,000'], ['', 'AEA investors', '10,000']], [['2', 'firm B', 'Tencent collaboration', '16,000'], ['', 'id TechVentures', '4,000']], [['3', 'firm C', 'xxx', '625']]]
[['1', 'firm A', 'Manhattan (company name)', '25,000'], ['', 'SK Ventures', '25,000'], ['', 'AEA investors', '10,000']]
[['2', 'firm B', 'Tencent collaboration', '16,000'], ['', 'id TechVentures', '4,000']]
[['3', 'firm C', 'xxx', '625']]
</code></pre>
<p>我是基于你希望矩阵的第一行是:
<code>[[1,Firm A,Manhattan,25,000],['',SK Ventures,25,000],['',AEA investors,10,000]]</code></p>
<p>然而,为了用更多的行来实现这一点,我们得到了一个嵌套3层的列表。这就是<code>print(matrix)</code>的输出。这可能有点难以使用,这就是为什么TessellatingHeckler的答案使用字典来存储数据,我认为这是一个更好的方式来访问你需要的。但是如果你想要的是“矩阵”列表,那么我上面写的代码就是这样做的。你知道吗</p>