我在文本文件的单列中有一个数据,如下所示:
2305\n1961\n2224\n1223\n。当我读取此数据时,它将 data_type 更改为字符串。
data = open('C:\file.txt','r')
lines = data.readlines()
new_data = []
for i in range(len(lines)):
new_data.append(lines[i].strip())
print new_data
这会产生 ['2305','1961','2224','1223'] 但是我想要上面的输出没有分隔符“'”
我试过了,但没用
no_list = []
for list in new_data:
no_list.append(int(list))
print no_list
结果仍然与之前相同。我现在可以获得 int 格式的数值数据。
最佳答案
有多种方法可以将列表从 string
类型的集合转换为 int
类型。然而,我要注意的第一件事是:如果不需要,请不要对列表进行两次迭代。当您进行迭代时,读入数据,将其转换为类型,然后附加它:
for line in data.readlines():
new_data.append(int(line.strip()))
这可以通过使用列表理解或 map
调用来缩短:
new_data = map(int, data.readlines())
new_data = [int(line) for line in data.readlines()]
如果您必须迭代它两次,您可以使用列表理解或 map
来转换它:
no_data = [int(num) for num in new_data]
# or
no_data = map(int, new_data)
关于python - 如何从文本文件中提取数字数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615145/