Skip to main content
 首页 » 编程设计

python之如何使用 numpy 在 python 中导入没有分隔符的文本文件

2025年05月04日14grandyang

如何导入没有分隔符的文件?

我有一个名为 text.txt 的文件,其中包含 2 行文本:

00000000011100000000000000000000
00000000011111110000000000000000

当我使用

f = open("text.txt")
data = np.loadtxt(f)

我明白了

[ 1.11000000e+22 1.11111100e+22]

使用 sep="" 没有任何改变。

我想以许多个位数整数的形式得到这个结果:

[ [00000000011100000000000000000000]
[00000000011111110000000000000000] ]

感谢任何帮助。

更新:感谢大家对一个棘手问题的出色回答和许多有效解决方案。

请您参考如下方法:

我会从字面上理解“我想得到这个结果,以许多个位数整数的形式:”的语句,并忽略它后面的样本格式(看起来只是两个整数,而不是比许多个位数整数)。你可以用 genfromtxt 做到这一点通过使用参数 delimiter=1 和 dtype=int。当 delimiter 是整数或整数序列时,这些值被解释为包含固定宽度数据字段的文件的字段宽度。

例如:

In [15]: genfromtxt('text.txt', delimiter=1, dtype=int) 
Out[15]:  
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])