蚂蚁尖兵 2022-01-03 20:57 采纳率: 50%
浏览 82
已结题

求解:从txt文件导入字符序列到tablewidget的每个单元格中失败

求解:从txt文件导入字符序列到tablewidget的每个单元格中失败,结果是把txt文件中所有字符到每一个单元格中了,我想实现的是用空格分开的每个字符串单独导入每个单元格中,代码如下,怎样修改错误?


    def kcbopen(self):
        kcbname, _ = QFileDialog.getOpenFileName(self, "Open", "", "*.txt;;All Files(*)")
        if kcbname != "":  # “”为用户取消
            self.textEdit.setText(kcbname)

        data = []
        with open(str(kcbname), 'r') as f:
            for i in f:
                data.append([j for j in i.split(" ")])

        for i in range(self.tableWidget.rowCount()):
            for n in range(self.tableWidget.columnCount()):
                for s in data:
                    self.tableWidget.item(i, n).setText(str(s))

出错动画演示如下:

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2022-01-03 23:22
    关注

    题中代码在读取txt文本文件后,是遍历字符串。尝试将其读取成列表,代码如下:

    data=[]
    with open('score1.txt', 'r',encoding='utf-8') as f:
        for i in [x.strip() for x in f.read().split('\n')]:
            data.append([j for j in i.split(" ")])
    print(data)
    
    
    F:\2021\qa\ot3>t3
    [['学号', '思政', '微积分', '大学英语'], ['1001', '92', '80', '82'], ['1002', '90', '93', '87'], ['1003', '55', '61', '62'], ['1004', '94', '93', '92'], ['1005', '92', '95', '81'], ['1006', '75', '50', '61']]
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 1月3日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分