python - 将txt表转换为二维列表

标签 python list 2d

所以我有一个工作中的读板器,它只会将结果输出到像这样的纯文本文件中

  1       2       3       4       5       6       7       8       9      10         
A   1.551   0.686   0.613   3.823   1.356   3.117   1.941   1.454   0.820   3.346   
B   3.811   3.403   3.782   3.811   3.474   3.811   3.811   3.811   0.396   0.378   
C   1.278   3.816   3.816   3.816   3.766   3.816   3.329   3.816   1.625   3.816  
D   1.354   1.689   1.182   3.819   3.819   1.241   1.099   2.826   1.780   2.018   
E   3.816   1.970   3.807   3.816   3.489   0.407   3.816   3.816   3.030   2.663   
F   3.622   1.080   0.846   0.574   3.169   2.313   1.113   1.166   1.567   1.983  
G   0.782   2.101   1.681   0.494   1.865   1.920   1.819   1.183   0.770   1.686  
H   2.561   1.046   2.009   2.410   0.751   3.814   2.703   0.799   1.935   3.814 

我正在尝试编写代码,将 float 从表中读取到二维列表中,然后操作它们。我可以轻松地编写操作部分的代码,但在将数据放入列表时遇到问题。主要问题是两种不同的变量类型。到目前为止我已经:

import numpy as np
local = input ("enter the file location: ")
data = [np.array(map(int, line.split())) for line in open(local)]

最佳答案

您的解决方案很接近。第一行只是列索引,因此您可以跳过它。第一列是行索引,也可以跳过。并且您的数据是float,而不是int

此外,使用上下文管理器来管理您的资源,使用with语句,文件会自动关闭。在简短的脚本中可能不会产生什么影响,但这是一个值得养成的好习惯。

import numpy as np
local = input ("enter the file location: ")
with open(local) as f:
    f.readline()  #  skip column indices
    data = [np.array(map(float, line.split()[1:])) for line in f]

关于python - 将txt表转换为二维列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16722544/

相关文章:

python - 使用 Pod 和 Jupyterlab 检索 EKS secret

python - XML 编辑属性

python - 如果列中的元素全部出现在列表中并且 pandas 中没有其他内容,则 Oly 子集分组

java - 如何在java中对动态结构进行排序

c++ - 给定一个节点数为奇数的单链表,通过只遍历链表一次找到中间节点的两种方法是什么?

python - 修改列表中数字的累积和

javascript - 在 Sharepoint 2013 中使用 JavaScript 检索查找的链接列表

计算点对称性的算法

javascript - 与二维碰撞有关的四叉树

graphics - 用于图形应用程序的快速、像素精度 2D 绘图 API?