我有一个包含3列的文本文件:姓名、年龄和语言。我想打印语言列为“fr”的所有名称
例如:文本文件包含制表符分隔符。
Name Age Language
Chris 23 fr
Joe 45 de
Henri 32 eng
Samuel 65 fr
期望输出:
Chris, Samuel
这是我的代码:
import csv
with open('people.txt', 'r') as file:
names = [cols[0] for cols in csv.reader(file, delimiter="\t")]
lang = [cols[2] for cols in csv.reader(file, delimiter="\t")]
for i,row in lang:
if "fr" in row:
print(names[i])
这应该行得通。请注意,您只需要使用
csv.reader
打开csv文件一次,然后遍历所有行,如果第三行是fr
,则将第一行的值附加到列表中输出将是
如果可以使用外部模块,我将使用以下方法处理此任务:
我使用numpy.loadtxt获取
str
数组,通知它文件由制表符(\t
)分隔,然后获取行,其中2
第列(从零开始计数)是fr
,然后在这些行的第0
列获取值,即名称相关问题 更多 >
编程相关推荐