Python 在有序字典中搜索

Python 在有序字典中搜索,python,csv,oop,dictionary,Python,Csv,Oop,Dictionary,我已经做了一个程序,从一个csv文件读取,与此代码 reader = csv.DictReader(open('FakeNameSet.csv', 'r', encoding='utf-8-sig')) customer_list = [] for line in reader: customer_list.append(line) 此代码从我的csv文件创建这些类型的有序字典 OrderedDict([('Number', '19'), ('Gender'

我已经做了一个程序,从一个csv文件读取,与此代码

reader = csv.DictReader(open('FakeNameSet.csv', 'r', encoding='utf-8-sig'))
customer_list = []
for line in reader:
    customer_list.append(line)
此代码从我的csv文件创建这些类型的有序字典

OrderedDict([('Number', '19'),
              ('Gender', 'female'),
              ('NameSet', 'Dutch'),
              ('GivenName', 'Özgül'),
              ('Surname', 'Overgaauw'),
              ('StreetAddress', 'Adriana Noorlandersingel 200'),
              ('ZipCode', '3065 HE'),
              ('City', 'Rotterdam'),
              ('EmailAddress', 'OzgulOvergaauw@superrito.com'),
              ('Username', 'Shrothem1971'),
              ('TelephoneNumber', '06-15253488')]),
 OrderedDict([('Number', '20'),
              ('Gender', 'female'),
              ('NameSet', 'Dutch'),
              ('GivenName', 'Gülseren'),
              ('Surname', 'Willigenburg'),
              ('StreetAddress', 'Dingspelstraat 28'),
              ('ZipCode', '9461 JE'),
              ('City', 'Gieten'),
              ('EmailAddress', 'GulserenWilligenburg@teleworm.us'),
              ('Username', 'Ressoare'),
              ('TelephoneNumber', '06-92433659')])]
现在我需要按姓名访问此列表中的人员,但我不知道如何以这种OrderedDict样式访问此名称。我已经试了两个小时了,似乎什么都没用

基本上,我有一个列表,上面有很多有序的字典,我想在这些字典中搜索一个特定的人;基本上,函数的工作原理如下:


搜索personGülseren,然后返回此人的所有信息。

因此,记录是按顺序排列的词典,但您将客户保留在列表中。如果只按名称搜索,将customer_列表更改为字典应该可以解决问题:

customers = {}
for line in reader:
    customers['GivenName'] = line

# assuming GivenName is unique, search customers by given name:
customer = customers["Gülseren"]
如果需要按其他字段进行搜索,我建议使用熊猫数据帧:

import pandas as pd

customers = pd.read_csv('FakeNameSet.csv', encoding='utf-8-sig')
# find customers by a given name:
# (doesn't assume uniqueness, you can get several rows)
customers[customers['GivenName] == "Gülseren"]

那时候你试过什么?一个简单的谷歌搜索OrderedICT访问就会得到你所需要的;但是他们的结构和我这里的不一样,他们只做了一个订单,然后搜索,但我有20个,我不知道我做错了什么