在python中将for循环中的字节转换为字符串

在python中将for循环中的字节转换为字符串,python,pyqt,Python,Pyqt,我有一个QTableView并试图获取列中的所有值。我能够使用下面的代码检索值 data= [] for row in range(model.rowCount()): data.append([]) for column in range(model.columnCount()): index = model.index(row, 0) data[row].append(str(model.data(index))) for item in da

我有一个QTableView并试图获取列中的所有值。我能够使用下面的代码检索值

data= []
for row in range(model.rowCount()):
    data.append([])
    for column in range(model.columnCount()):
        index = model.index(row, 0)
        data[row].append(str(model.data(index)))
for item in data:
    names = '{}'.format(item[0])
    print(names)
我面临的问题是,例如,我获取的值是字节

b'Austria'
b'Belgium'
b'Denmark'
b'England'
b'Finland'
而不是

Austria
Belgium
Denmark
England
Finland

下面是一个解决您的问题的工作代码

names = []
data = []
for row in range(model.rowCount()):
    name = model.data(model.index(row, 0))
    data.append((name))
    names.append(name)
for name in names:
    decoded_name = bytes(name).decode()
    print(decoded_name)

names='{}.format(项[0])
更改为
names='{}.format(项[0].decode())
它的可能重复项不是重复项,因为我尝试了它,并且得到了与使用您提供的代码相同的错误。错误是
AttributeError:“str”对象没有属性“decode”
它是重复的,您尝试过答案吗?非常感谢@And3r50n 1。这解决了我的问题