从Python中读取文件中的数据

时间:2013-09-11 20:42:51

标签: python string int

我有一个如下所示的数据文件:

1,100
2,200
3,-400
4,500

如您所见,每个数据点都有2个组件 当我执行file.readlines()时,它们都会出现像'1,100 \ n'这样的字符串,所以我想知道如何将它们变成整数?

4 个答案:

答案 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(','))

这就是它的作用

  1. line.strip()"1,100\n"转换为"1,100"
  2. line.split(',') converts“1,100”to(“1”,“100”)`
  3. map(int, ...)int应用于每个参数,并返回(1, 100)

答案 3 :(得分:0)

我会使用numpy.loadtxt()

import numpy
numpy.loadtxt("yourFileName.txt", dtype=int, delimiter=",")