gpt4 book ai didi

python - 生成器字典内的迭代变量

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:51 26 4
gpt4 key购买 nike

美好的一天!有一个关于在 python 中迭代生成器字典的问题:

sort_dict = {select_keys: {rows: {j: item for item in self.csv_dict.values() if item.get(select_keys) == rows} for rows in keys}}

变量j有必要增加,直到它记录了数据:

for item in self.csv_dict.values () if item.get (select_keys) == rows}

我是Python新手,所以我为这个愚蠢的问题道歉。我为这个琐碎的问题争论了很长时间,但它应该执行 - 因为这个问题现在需要解决。

有一个类处理 csv 文件的穿孔:

`导入 csv

类 CSV():

def __init__(self, file_path):
super().__init__()
self.file_path = file_path
self.csv_dict = {}

"""Данный метод парсит переданный в класс CSV файл"""
def parseeCSV(self):
print('\n')
self.getDictCSV()
print(self.getListKeysCSV())
unic_key = self.getUnicValFromCustomKeys('zip')
sort_csv = self.getCsvSortForKeys(unic_key, 'zip')

"""Данный метод создает словарь из переданного в класс CSV файла
Словарь вида {Номер строки(записи){строка(запись)}}
"""
def getDictCSV(self):
i = 0
with open(self.file_path, 'r') as csv_desctiptor:
csv_obj = csv.DictReader(csv_desctiptor)
for csv_dict in csv_obj:
self.csv_dict[i] = csv_dict
i = i + 1
del csv_desctiptor
return True

"""Данный метод возвращает все ключи из словаря self.csv_dict[0]"""
def getListKeysCSV(self):
return dict.keys(self.csv_dict[0])

"""Данный метод возвращает уникальные значения по выбранным полям"""
def getUnicValFromCustomKeys(self, keys):
i = 0
val_key = {}
while i < len(self.csv_dict):
val_key[i] = self.csv_dict[i].get(keys)
unic_val_key = set(val_key.values())
i = i + 1
return unic_val_key

def getCsvSortForKeys(self, keys, select_keys):
#sort_dict = {select_keys: {rows: '' for rows in keys}}
i = 0`

它解析 CSV 类型的文件:

街道、城市、邮政编码、州、床位、浴室、sq__ft、类型、销售日期、价格、纬度、经度
3526 HIGH ST,萨克拉门托,95838,CA,2,1,836,住宅,5 月 21 日星期三 00:00:00 EDT 2008,59222,38.631913,-121.434879

同时他要做Dictionary类型:

csv_dict[key_select][key_select_val][num-element][element_csv_string]

例如:csv_dict['zip']['95838'][1][3526 HIGH ST,萨克拉门托,95838,CA,2,1,836,住宅,2008 年 5 月 21 日星期三 00:00:00 EDT ,59222,38.631913,-121.434879

提前致谢,对于愚蠢的问题我深表歉意。

最佳答案

请解释一下您的问题。

我无法在您的代码中收集 j 的任何引用。而且代码似乎构造错误。

sort_dict = {select_keys: {rows: 
{j: item for j,item in enumerate(self.csv_dict.values())
if item.get(select_keys) == rows} for rows in keys}}

希望有帮助!

关于python - 生成器字典内的迭代变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40156357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com