Python如何将QTableWidget全部条目一次性批量插入数据库表
解决方案
你只需要遍历QTableWidget的所有数据行,逐行提取对应列的单元格内容,组装成和参考代码格式一致的元组列表即可。
假设你的QTableWidget实例名为table_widget,且表格列顺序和数据库插入字段顺序一致(第1列对应name、第2列对应job、第3列对应email),替换参考代码中Sample data部分的代码如下:
# 从QTableWidget读取所有行数据组装成目标格式 data = [] # 遍历表格所有数据行(索引从0开始) for row_idx in range(table_widget.rowCount()): # 提取当前行各列的单元格内容,空单元格做容错处理 name = table_widget.item(row_idx, 0).text() if table_widget.item(row_idx, 0) else "" job = table_widget.item(row_idx, 1).text() if table_widget.item(row_idx, 1) else "" email = table_widget.item(row_idx, 2).text() if table_widget.item(row_idx, 2) else "" data.append((name, job, email))
注意事项
- 若你的表格列顺序和数据库字段顺序不匹配,调整
item(row_idx, 列索引)里的列索引数值即可(列从左到右从0开始计数) - 代码里对空单元格做了容错处理,默认赋值为空字符串,你可以根据数据库字段的约束要求修改为None或其他默认值
- 组装完成的
data变量可以直接代入你找到的参考代码后续的批量插入逻辑,无需修改其他插入代码
内容的提问来源于stack exchange,提问作者accpert.com
相关产品推荐
相关产品推荐

