如何在Python中从文本文件读取整数数组?

1 投票
3 回答
2262 浏览
提问于 2025-06-18 04:09

我有一个这样的文本文件:

0 0 1
1 1 1
1 0 1
0 1 0

我想把它变成一个二维数组,像这样:

[[0,0,1],
[1,1,1],
[1,0,1],
[0,1,0]]

我试过这个:

with open("Input_Data.txt", "r") as txt_file:
    input_data = [line.split() for line in txt_file]
print(input_data)

但是它返回的是:

[['0', '0', '1'], ['1', '1', '1'], ['1', '0', '1'], ['0', '1', '0']]

请问我怎么才能得到一个整数数组,而不是字符串呢?

相关问题:

  • 暂无相关问题
暂无标签

3 个回答

0

为了补充答案,我添加了 numpy 库的 loadtxt 函数。这个函数非常简单,输出的结果是一个 ndarray(多维数组):

import numpy as np

my_array = np.loadtxt("Input_Data.txt", dtype="uint8", delimiter=' ')

你可以指定数据类型,默认是 float(浮点数)。

1
with open("Input_Data.txt", "r") as txt_file:
    input_data = [[int(x) for x in line.split()] for line in txt_file]
print(input_data)

这段代码是一个代码块,可能包含了一些编程的内容或者示例。具体的内容没有提供,所以我们无法详细解释它的功能或作用。

如果你有任何具体的代码或者问题,欢迎分享,我可以帮助你理解它的意思!

4

使用这行代码:

input_data = [list(map(int, line.split())) for line in txt_file]

你现在有的是字符串,但你想要的是整数,所以你需要把每个字符串转换成整数。

map这个函数会把你作为第一个参数给的函数应用到第二个参数里的每一个元素上,然后返回一个迭代器。接着,你可以用list这个构造函数来把这个迭代器变成一个列表。

撰写回答