我正在处理从存储设备读出的数据,格式如下:
id:name:UPS_serial_number:WWNN:status:IO_group_id:IO_group_name:config_node:UPS_unique_id:hardware:iscsi_name:iscsi_alias:panel_name:enclosure_id:canister_id:enclosure_serial_number:site_id:site_name
10:node_A::00A550:online:0:io_grp0:yes::SV1:iqn.1986-03.com:2145.test.nodeA::A:::::
15:node_B::00A548:online:0:io_grp0:no::SV1:iqn.1986-03.com.:2145.test.nodeB::B:::::
如何将数据作为2D数组读取,比如datarray['15']['status']
?在
我试过这样做:
^{pr2}$但这似乎把数据分割错了:
[[[0, u'id'], [1, u'name'], [2, u'UPS_serial_number'], [3, u'WWNN'], [4, u'status'], [5, u'IO_group_id'], [6, u'IO_group_name'], [7, u'config_node'], [8, u'UPS_unique_id'], [9, u'hardware'], [10, u'iscsi_name'], [11, u'iscsi_alias'], [12, u'panel_name'], [13, u'enclosure_id'],
使用^{} 将各行作为字典读取,然后使用字典理解创建“外部”dict,将
ID
属性映射到具有该ID的内部dict请注意,这不是二维数组,而是字典字典(字典是关联数组)。作为一个简单的2D数组,像
result["15"]["status"]
这样的查询将不起作用。在我可以从数据中看出,它是冒号(:)分隔的数据,第一行有头。如果是这种情况,您可以在加载带有分隔符=':'的csv文件时将其加载到pandas dataframe。然后将该数据帧转换为numpy数组。在
相关问题 更多 >
编程相关推荐