如何才能把循环内迭代出来的所有的字典提取并储存在一个变量里并且不会被覆盖

def getDate():
    result = open('test1.html', 'r')
    data = re.findall(r"\"engine_jds\":(.+?),\"jobid_count\"",str(result.readlines()))
    jsonObj = json.loads(data[0])
    for item in jsonObj:
        var = (item["company_name"],item["job_name"],item["workarea_text"],item["providesalary_text"],
                item["companytype_text"],item["companysize_text"],item["jobwelf"])
        # print(var)  #这个输出是迭代出来的全部字典
    #print(var)  #这里只能输出迭代出来的最后一条
    return var

循环内输出可以全部输出出来,但在循环外只能输出最后一条前面的都被覆盖了,这如何解决啊?
如何才能把循环内迭代出来的所有的字典提取并储存在一个变量里啊?
以下我要把取出的数据放进数据库里

def savaData2db(datalist, dbpath):
     # init_db(dbpath)
     conn = sqlite3.connect(dbpath)
     cur = conn.cursor()
     sql = """
        insert into Professional(company_name,Professional_name,
        region,wage,company_type,company_number,welfare)
        values %s"""% str(getDate())
     print(sql)
     cur.execute(sql)
     conn.commit()
     # cur.colse()
     conn.close()

用一个列表保存字典
你题目的解答代码如下:

def getDate():
    result = open('test1.html', 'r')
    data = re.findall(r"\"engine_jds\":(.+?),\"jobid_count\"",str(result.readlines()))
    jsonObj = json.loads(data[0])
    reli = []
    for item in jsonObj:
        var = (item["company_name"],item["job_name"],item["workarea_text"],item["providesalary_text"],item["companytype_text"],item["companysize_text"],item["jobwelf"])
        reli.append(var)  # 把迭代出来的数据添加进列表
    print(reli)  #输出列表
    return reli  #返回列表

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

建一个全局列表啊

 def getDate():
    result = open('test1.html', 'r')
    data = re.findall(r"\"engine_jds\":(.+?),\"jobid_count\"",str(result.readlines()))
    jsonObj = json.loads(data[0])
    list=[]
    for item in jsonObj:
        var = (item["company_name"],item["job_name"],item["workarea_text"],item["providesalary_text"],
                item["companytype_text"],item["companysize_text"],item["jobwelf"])
        list.append(var)
    print(list) 
    return list