Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正在尝试用python创建一个字典_Python_Dictionary_List Comprehension - Fatal编程技术网

我正在尝试用python创建一个字典

我正在尝试用python创建一个字典,python,dictionary,list-comprehension,Python,Dictionary,List Comprehension,它接受一个包含500条投诉的文件,返回投诉编号作为密钥,返回一个元组,其中包含汽车品牌、投诉日期、车祸真假、城市和州作为值 ex) mydict("Complaints.txt")[416] ('CHRYSLER', datetime.date(1995, 1, 9), False, 'ARCADIA', 'FL') 到目前为止,我已经: from collections import defaultdict import datetime def fieldict(fi

它接受一个包含500条投诉的文件,返回投诉编号作为密钥,返回一个元组,其中包含汽车品牌、投诉日期、车祸真假、城市和州作为值

 ex)   mydict("Complaints.txt")[416]
      ('CHRYSLER', datetime.date(1995, 1, 9), False, 'ARCADIA', 'FL')
到目前为止,我已经:

 from collections import defaultdict
import datetime

def fieldict(filename):
    with open(filename) as f:
        x=[line.split('\t')[0].strip() for line in f] #list of complaint numbers
        y= line.split('\t') #list of full complaints
        d={}
        for j in x:
            Y= True
            N= False
            d[j] = tuple(y[2],datetime.date(y[7]), y[6], y[12], y[13])   #dict with number of complaint as key and tuple with index as values
        return d

y是将整个投诉分解为删除\t个字符的列表。如果有人能给我指出正确的方向,我将不胜感激

如果我能正确理解你的意思,我想这就是你想要的

import datetime

def fieldict(filename):
    returnDict = {}
    with open(filename) as f:
        for line in f:
            lineList = line.split('\t')
            index = lineList[0].strip()
            complaint = tuple(lineList[2],datetime.date(lineList[7]), lineList[6], lineList[12], lineList[13])

            returnDict[index] = complaint

    return returnDict

if __name__ == "__main__":
    mydict = fieldict("Complaints.txt")
    print mydict[416]

如果我理解正确,我想这就是你要找的

import datetime

def fieldict(filename):
    returnDict = {}
    with open(filename) as f:
        for line in f:
            lineList = line.split('\t')
            index = lineList[0].strip()
            complaint = tuple(lineList[2],datetime.date(lineList[7]), lineList[6], lineList[12], lineList[13])

            returnDict[index] = complaint

    return returnDict

if __name__ == "__main__":
    mydict = fieldict("Complaints.txt")
    print mydict[416]

您还可以稍微依赖csv模块(未经测试):


您还可以稍微依赖csv模块(未经测试):