【问题标题】:raw text to array python原始文本到数组python
【发布时间】:2021-12-03 19:56:27
【问题描述】:
import numpy as np
import re
def read_process_OD():
    OD = np.zeros([24, 24])
    lines=[]
    with open('Network_OD.txt','r') as f:
        lines=f.readlines()
    origin=[]
    for line in lines:
        if line.startswith('Origin')==True:
            pass
        else:
            origin.append(re.split(pattern=[':;'],string=lines))

#raw 文本显示如下: #起源1

1 : 0.0; 2:100.0; 3:100.0; 4:500.0; 5:###200.0;

【问题讨论】:

  • 你有什么问题?
  • 嗨,布鲁图斯,我正在尝试将原始文本转换为矩阵 [24,24]。我的文本有标题、空格、冒号和分号。我不知道该怎么做。这些行按原始目标节点排序。例如:Origin 6: 1:100.0;2:400.0 等等。 Origin是行索引,后面的数据是列的值。

标签: python arrays text raw


【解决方案1】:

我认为你试图从这个文本中得到的是在 python 中被称为“字典”的东西。那么,让我们来看看答案。 首先,你必须用“;”分割文本

splitted_text=raw_text.split(";")

你将拥有:

["1 : 0.0", "2 : 100.0", "3 : 100.0", "4 : 500.0", "5 :200.0"]

这还不是字典。您可能已经猜到下一步是用“:”分割上面列表的每个元素。在这里,长话短说,我将进入最后一部分:

my_dict={}
for i in splitted_text:
    dict[int(i.split(":")[0])]=float(i.split(":")[1])

并且,通过这个,您将有一个准备好分析的字典,制作图表等:

{1:0.0,2:100.0,3:100.0,4:500.0,5:200.0}

【讨论】:

  • 谢谢哈米德!!之后我可以将字典转换为数组吗?键是列索引。
  • 亲爱的 Paloma,我相信您有 C 或 Java 脚本方面的背景。在 Python 中,没有“数组”这样的东西。如果你的意思是:[1,2,4,5];这在 python 中称为列表。
猜你喜欢
  • 1970-01-01
  • 2016-02-23
  • 2014-10-05
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 2021-06-09
  • 1970-01-01
相关资源
最近更新 更多