我有一个CSV文件,其中包含列名(第一行)和值(行的其余部分)。我想创建变量来为循环中的每一行存储这些值。因此,我首先创建了一个包含CSV文件的字典,然后获得了具有键值对的记录列表。因此,现在我想创建变量来存储从每个项目的“键”提取的“值”,并在每个记录的循环内。我不确定是否设置正确。
这是我的字典。
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QVBoxLayout *lay = new QVBoxLayout(&w);
QLabel *label = new QLabel("Stack Overflow");
label->setStyleSheet("background-color:salmon;");
QSizePolicy sp = label->sizePolicy();
sp.setVerticalPolicy(QSizePolicy::Maximum);
label->setSizePolicy(sp);
lay->addWidget(label);
for (int i=0; i<4; i++) {
lay->addWidget(new QPushButton(QString("pushbutton-%1").arg(i)));
}
w.show();
return a.exec();
}
my_dict = [{'value id':'value1', 'name':'name1','info':'info1'},
{'value id':'value2', 'name':'name2','info':'info2'},
{'value id':'value3', 'name':'name3','info':'info3'},
}]
for i in len(my_dict):
item[value id] = value1
item[name] = name1
item[info] = info1
和value id
将是唯一的,并且是列表的标识符。最终,我想创建一个name
对象,即item
,并且可以添加其他代码来修改item[info] = info1
。
答案 0 :(得分:0)
尝试一下,
my_dict = [{'value':'value1', 'name':'name1','info':'info1'},
{'value':'value2', 'name':'name2','info':'info2'},
{'value':'value3', 'name':'name3','info':'info3'}]
for obj in my_dict:
value = obj['value']
name = obj['name']
info = obj['info']
要扩展@aws_apprentice的观点,您可以通过创建一些其他变量来捕获数据
my_dict = [{'value':'value1', 'name':'name1','info':'info1'},
{'value':'value2', 'name':'name2','info':'info2'},
{'value':'value3', 'name':'name3','info':'info3'}]
values = []
names = []
info = []
for obj in my_dict:
values.append(obj['value'])
names.append(obj['name'])
info.append(obj['info'])