在python中将for循环中的字节转换为字符串
我有一个QTableView并试图获取列中的所有值。我能够使用下面的代码检索值在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
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。这解决了我的问题