如何在Python中给出多个条件时检索特定的csv列数据?
How to retrieve specific csv column data when multiple conditions are given in Python?
就像在 MySQL 查询中我们使用 WHERE 子句检索具有条件的列一样,我们如何在 Python 中做同样的事情? CSV 文件也是如此吗?
我的 CSV 文件包含具有名称、地点和颜色属性的数据
- Ruby,纽约,格林
- Casper,首尔,蓝色
- 卡罗琳,纽约,格林
现在用户可以选择提供城市和颜色名称进行搜索。如果用户输入:City = NewYork and Color= Green,它应该显示
- Ruby
- 卡罗琳。
我应该怎么做?我写了一个示例代码,但输出错误。
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)
考虑以下测试对象:
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")
我们有一个 Class 带有用于显示输出的成员函数。
您可以先打开 csv 文件并使用 csv_file 引用在范围内创建 reader。然后在每一行的列中搜索传递给函数的给定字符串。
看起来你在尝试诊断这个问题时遇到了一些麻烦,并且在其中留下了让你感到困惑的测试代码。
就像在 MySQL 查询中我们使用 WHERE 子句检索具有条件的列一样,我们如何在 Python 中做同样的事情? CSV 文件也是如此吗?
我的 CSV 文件包含具有名称、地点和颜色属性的数据
- Ruby,纽约,格林
- Casper,首尔,蓝色
- 卡罗琳,纽约,格林
现在用户可以选择提供城市和颜色名称进行搜索。如果用户输入:City = NewYork and Color= Green,它应该显示
- Ruby
- 卡罗琳。
我应该怎么做?我写了一个示例代码,但输出错误。
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)
考虑以下测试对象:
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")
我们有一个 Class 带有用于显示输出的成员函数。 您可以先打开 csv 文件并使用 csv_file 引用在范围内创建 reader。然后在每一行的列中搜索传递给函数的给定字符串。
看起来你在尝试诊断这个问题时遇到了一些麻烦,并且在其中留下了让你感到困惑的测试代码。