我有一个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]
答案 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])
请注意,我没有测试代码。我直接在这里盲目地写了它。