我有一个如下所示的数据文件:
1,100
2,200
3,-400
4,500
如您所见,每个数据点都有2个组件 当我执行file.readlines()时,它们都会出现像'1,100 \ n'这样的字符串,所以我想知道如何将它们变成整数?
答案 0 :(得分:4)
这是逗号分隔的数据,因此使用csv模块是一种很好的方法。
提取字符串数据的简单版本
import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for a, b in reader:
print a, b
或托马斯将数据转换为整数的方法
import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for line in reader:
a, b = map(int, line)
print a, b
答案 1 :(得分:3)
逐行阅读,然后分割每一行:
with open('file.txt', 'r') as f:
for line in f:
a, b = [int(x) for x in line.split(',')]
# here you can use a and b as numbers
以上优点是使用with
语句,即使出现错误也会自动关闭文件。
答案 2 :(得分:2)
您可以这样做:
map(int, line.strip().split(','))
这就是它的作用
line.strip()
将"1,100\n"
转换为"1,100"
line.split(',') converts
“1,100”to
(“1”,“100”)`map(int, ...)
将int
应用于每个参数,并返回(1, 100)
答案 3 :(得分:0)
我会使用numpy.loadtxt():
import numpy
numpy.loadtxt("yourFileName.txt", dtype=int, delimiter=",")