python - 如何从文本文件中提取数字数据

标签 python

我在文本文件的单列中有一个数据,如下所示:

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/

相关文章:

python - Apache Beam python 无法解析 pubmed XML

python - 如何使用 spacy nlp 查找专有名词

python - 无法将对象类型转换为字符串;然后过滤该字符串; python pandas 数据框

python - 基于列的分组和取消分组

python - Django 服务器不对 CSS 进行更改

python - 如何从 numpy 数组中删除正无穷大...如果它已经转换为数字?

python - 如何使Docker容器永远运行

python - 为了提高我的 python 程序的速度,我应该生成一个单独的线程还是一个单独的进程来进行日志记录?

python - 如何用新名称替换特定标点符号?

python - Python 函数式编程最佳实践的静态分析?