Как мне найти позицию элемента в файле csv?

#python #python-3.x #csv

#python #python-3.x #csv

Вопрос:

У меня есть этот файл csv.

 JFK,John F Kennedy International,5326,5486
ORY,Paris-Orly,629,379
MAD,Adolfo Suarez Madrid-Barajas,1428,1151
AMS,Amsterdam Schiphol,526,489
CAI,Cairo International,3779,3584
  

Если есть способ, как можно найти положение элемента, такого как JFK и, и распечатать его, вызвав postition, как мне это сделать?. Если это не ясно: как мне закодировать оператор печати, который печатает JFK или John F Kennedy International . Я не настолько хорош в python, поэтому извините, если это было трудно понять.

Ответ №1:

Вы можете создать словарь первого элемента, сопоставляющего второму элементу, следующим образом:

 import csv  
with open(fn) as f:  # where fn is the file name
    di={row[0]:row[1] for row in csv.reader(f)} 
  

Тогда тривиально получить каждое значение из кода airport:

 >>> di
{'JFK': 'John F Kennedy International', 'ORY': 'Paris-Orly', 'MAD': 'Adolfo Suarez Madrid-Barajas', 'AMS': 'Amsterdam Schiphol', 'CAI': 'Cairo International'}

>>> di['JFK']
'John F Kennedy International'
  

Ответ №2:

попробуйте это:

 import pandas
df = pandas.read_csv("<path_to_csv_file>")
value = df.loc[df["<column_name>"] == "JFK"]
print(value)
  

Надеюсь, я помог!

Ответ №3:

С помощью модуля python CSV вы можете читать весь файл CSV строка за строкой:

 import csv 
with open('your.csv', mode ='r')as file: 
    csvFile = csv.reader(file) 
    x = list(csvFile)
    print(x)
  

Результат

 [['JFK', 'John F Kennedy International', '5326', '5486'], ['ORY', 'Paris-Orly', '629', '379'], ['MAD', 'Adolfo Suarez Madrid-Barajas', '1428', '1151'], ['AMS', 'Amsterdam Schiphol', '526', '489'], ['CAI', 'Cairo International', '3779', '3584']]
  

Из напечатанного результата вы заметите, что каждая строка вашего csv представлена как подсписок результата. Итак, если вы печатаете первый элемент первого подсписка, у вас должно быть JFK

 print(x[0][0])
  

Результат

 JFK