读取非限定整数

2024-04-24 23:46:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个

11100000011111111
11100000011111111
11100000011111111

每个元素为1位。有没有一个好的方法来创建一个矩阵使用这个作为输入?目前,我将每一行作为一个字符串读取,将其转换为一个列表,然后将其存储在numpy数组中。你知道吗

array = []
i_file = open(array_file, 'rb')
for line in i_file:
    data = list(line.strip().replace('?', '3'))
    array.append(data)
i_file.close()
array = np.array(array, dtype=np.int8)

提前谢谢。你知道吗


Tags: 方法字符串numpy元素列表fordatanp
1条回答
网友
1楼 · 发布于 2024-04-24 23:46:30

read_fwf可用于读取固定宽度的文件。下面有一个示例,说明在这种情况下如何使用它-colspecs是列规范的列表,作为[打开,关闭]列位置的元组。你知道吗

In [55]: data = StringIO("""11100000011111111
    ...: 11100000011111111
    ...: 11100000011111111""")

In [58]: colspecs = [(n, n+1) for n in range(17)]


In [58]: df = pd.read_fwf(data, colspecs=colspecs, names=range(17))

In [58]: df
Out[58]: 
   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
0   1   1   1   0   0   0   0   0   0   1   1   1   1   1   1   1   1
1   1   1   1   0   0   0   0   0   0   1   1   1   1   1   1   1   1
2   1   1   1   0   0   0   0   0   0   1   1   1   1   1   1   1   1

相关问题 更多 >