Python 构建一个包含多个字典的列表,每个字典的表头和pyqt5中的每一行;
我在一个名为“headers”的列表中获取了列标题名称,在列表中的每一行数据都被称为“row data”,当我将两个列表转换为dict时,我并没有得到所有这些值,而是只得到了唯一的键值,以及如何获得所有重复的值Python 构建一个包含多个字典的列表,每个字典的表头和pyqt5中的每一行;,python,pyqt5,Python,Pyqt5,我在一个名为“headers”的列表中获取了列标题名称,在列表中的每一行数据都被称为“row data”,当我将两个列表转换为dict时,我并没有得到所有这些值,而是只得到了唯一的键值,以及如何获得所有重复的值 headers=['Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'Schem
headers=['Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1']
rowdata=['US_CO', 'US_COM', 'US_DO', 'public', 'US_CO', 'US_COM', 'US_DO', 'publicss', '', '', '', '', '', '', '', '', '', '', '', '']
>>> final_list
[{'Filter1': 'US_CO','Filter2': 'US_COM','Filter3': 'US_DO','SchemaName1': 'public'},
{'Filter1': 'US_CO','Filter2': 'US_COM','Filter3': 'US_DO','SchemaName1': 'publicss'},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''}]
def savedata_单击自身:
标题=[]
行数据=[]
对于rangeself.table.rowCount中的行:
对于rangeself.table.columnCount中的列:
item=self.table.itemrow,column
如果项目不是无:
rowdata.appenditem.text
其他:
rowdata.append
页眉=self.table.horizontalHeaderItemcolumn
如果标题不是“无”:
headers.appendheader.text
其他:
headers.appendColumn+strcolumn
res=听写器、行数据
印刷品
输出:{'Filter1':,'Filter2':,'Filter3':,'SchemaName1':}
预期:[{'Filter1':'US_CO','Filter2':'US_COM','Filter3':'US_DO','SchemaName1':'public'},{'Filter1':'US_CO','Filter2':'US_COM','Filter3':'US_DO','SchemaName1':'publicss',{'Filter1','Filter2':,'SchemaName1','Filter3','SchemaName1',{'Filter1':'
试试这个
headers=['Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1', 'Filter1', 'Filter2', 'Filter3', 'SchemaName1']
rowdata=['US_CO', 'US_COM', 'US_DO', 'public', 'US_CO', 'US_COM', 'US_DO', 'publicss', '', '', '', '', '', '', '', '', '', '', '', '']
>>> final_list
[{'Filter1': 'US_CO','Filter2': 'US_COM','Filter3': 'US_DO','SchemaName1': 'public'},
{'Filter1': 'US_CO','Filter2': 'US_COM','Filter3': 'US_DO','SchemaName1': 'publicss'},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''}]
输出:
>>> final_list
[{'Filter1': 'US_CO','Filter2': 'US_COM','Filter3': 'US_DO','SchemaName1': 'public'},
{'Filter1': 'US_CO','Filter2': 'US_COM','Filter3': 'US_DO','SchemaName1': 'publicss'},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''},
{'Filter1': '', 'Filter2': '', 'Filter3': '', 'SchemaName1': ''}]
@谢克莫德。。标题是表列名brother。如何获得与每行键相同的标题。请检查答案