在python中读取csv数据为整数

时间:2015-04-08 19:37:34

标签: python csv

我有一个csv文件,其中包含以下格式的数据

1,F,1,10,48067 2,M,56,16,70072 3,M,25,15,55117 4,M,45,7,02460 5,M,25,20,55455 6,F,50,9,55117 7,M,35,1,06810 8,M,25,12,11413 9,M,25,17,61614

现在我想读取每一行并在列表中存储一行,并将M转换为1,将F转换为0.如何在python中完成

这样的东西
  

temp = [1,0,25,17,2414]

1 个答案:

答案 0 :(得分:0)

这样的事情:

import csv

result = list()
with open('filepath.csv') as f:
    reader = csv.reader(f)
    for row in reader:
        result.append(list())
        for item in row:
            if item == 'F'
                result[-1].append(0)
            elif item == 'M':
                result[-1].append(1)
            else:
                result[-1].append(item)  

这是一个简短而美观的解决方案:

import csv

result = list()
with open('filepath.csv') as f:
    reader = csv.reader(f)
    for row in reader:
        result.append([i if (i!='F' and i!='M') else (0 if i=='F' else 1) for i in row])

请注意,我没有测试代码。我直接在这里盲目地写了它。