You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从QTableWidget提取数据转为二维数组并解决仅输出最后元素问题

解决QTableWidget数据转二维浮点数组的问题

你当前的代码每次循环都会用新值覆盖变量T,所以最后只会保留表格的最后一个元素,且完全没有构建二维数组的逻辑。以下是修改后的实现方案:

完整代码示例

def DoSomething(self):
    # 初始化空的二维数组
    data_array = []
    rows = self.ui.Level_N.rowCount()
    cols = self.ui.Level_N.columnCount()
    
    for i in range(rows):
        # 初始化当前行的存储列表
        row_data = []
        for j in range(cols):
            # 获取单元格文本并转换为浮点型
            cell_text = self.ui.Level_N.item(i, j).text()
            try:
                # 尝试转换为浮点,处理有效数据
                value = float(cell_text)
                row_data.append(value)
            except ValueError:
                # 处理非浮点数据的情况,这里用0.0作为默认值,可按需调整
                row_data.append(0.0)
        # 将当前行数据加入二维数组
        data_array.append(row_data)
    
    # 验证转换结果
    print(data_array)
    # 调用你的目标函数,传入二维数组
    # your_target_function(data_array)

关键说明

  • 先初始化data_array作为二维数组的容器,每一行数据先存入row_data子列表,再整体加入data_array
  • 加入try-except块是为了避免单元格为空、或包含非数字文本时导致程序崩溃,你可以根据需求修改异常处理逻辑(比如跳过无效单元格、弹出提示等)
  • 提前获取总行数和总列数,避免循环中重复调用rowCount()和columnCount(),小幅提升执行效率

内容的提问来源于stack exchange,提问作者gigi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:55:13