Как получить определенные данные столбца c csv, если в Python указано несколько условий? - PullRequest
1 голос
/ 04 августа 2020

Как и в запросе MySQL, где мы извлекаем столбцы с условиями, используя предложение WHERE , как мы можем сделать то же самое в Python? Это тоже с файлом CSV?

Мой CSV-файл содержит данные с атрибутами Name, Place и Color

  1. Ruby, NewYork, Green
  2. Casper, Seoul , Синий
  3. Кэролайн, Нью-Йорк, Зеленый

Теперь пользователю предоставляется возможность указать город и название цвета для поиска. Если пользователь вводит: Город = Нью-Йорк и Цвет = Зеленый, должно отображаться

  1. Ruby
  2. Кэролайн.

Как мне это сделать? Я написал пример кода, но вывод неверен.

import csv

class Test:
 
     def Display(Name,Place,Color):
        f = open('sample.csv')
        csv_f = csv.reader(f)
          for row in csv_f:
            if(row[1]==("NewYork") and row[2] ==("Green")):
            pass
          print(Name)  
  
Name,Place,Color = input("Enter Details: ").split()
Test.Display(Name,Place,Color)

1 Ответ

0 голосов
/ 04 августа 2020

Рассмотрим следующий тестовый объект:

import csv

class Test:
    def display(self, name, place, color):
        with open('sample.csv') as csv_file:
            csv_reader = csv.reader(csv_file, delimiter=',')
            for row in csv_reader:
                if(row[1]==place and row[2] == color):
                    print(row[0])  

test = Test()
test.display("Name","NewYork","Green")

У нас есть класс с функцией-членом для отображения вывода. Вы можете сначала открыть файл csv и использовать ссылку csv_file для создания своего читателя в области видимости. Затем вы ищите в столбце каждой строки заданные строки, которые вы передали в функцию.

Похоже, вы столкнулись с небольшими проблемами, пытаясь диагностировать эту, и оставили там тестовый код, который сбивал вас с толку .

...