我在包含非编码unicode的文本文件中有一个列表列表。 Python正在以列表的形式识别正在读取的对象,而不会直接从文本文件中执行json.loads()
语句。
当我尝试读取文本文件的所有行,然后执行for循环迭代每个子列表时,没有任何反应。当我尝试首先编码整个对象然后尝试加载到JSON之前,也没有任何事情发生。
这是我的代码:
import glob
myglob = 'C:\\mypath\\*.txt'
myglob = ''.join(myglob)
for name in glob.glob(myglob):
split_name = name.split('\\')[5]
with open(name) as f:
content = f.readlines()
for xx in content:
print xx.encode('utf-8')
输入数据如下所示:
[['Alexis S\xe1nchez', 'Alexis', 'S\xe1nchez', 'Forward', 'Arsenal', '13', '25244'],['H\xe9ctor Beller\xedn', 'H\xe9ctor', 'Beller\xedn', 'Defender', 'Arsenal', '13', '125211'],['Libor Koz\xe1k', 'Libor', 'Koz\xe1k', 'Forward', 'Aston Villa', '24', '67285']]
输出应该是三行字符串,上面的内容编码。谁能告诉我我做错了什么?
由于
答案 0 :(得分:0)
也许就像下一段代码片段一样?
listInput = [['Alexis S\xe1nchez', 'Alexis', 'S\xe1nchez', 'Forward', 'Arsenal', '13', '25244'],
['H\xe9ctor Beller\xedn', 'H\xe9ctor', 'Beller\xedn', 'Defender', 'Arsenal', '13', '125211'],
['Libor Koz\xe1k', 'Libor', 'Koz\xe1k', 'Forward', 'Aston Villa', '24', '67285']]
for listItem in listInput:
for aItem in listItem:
aItem = aItem.encode('utf-8')
print (listItem)
<强>输出强>:
==> python D:\test\Python\39708736.py
['Alexis Sánchez', 'Alexis', 'Sánchez', 'Forward', 'Arsenal', '13', '25244']
['Héctor Bellerín', 'Héctor', 'Bellerín', 'Defender', 'Arsenal', '13', '125211']
['Libor Kozák', 'Libor', 'Kozák', 'Forward', 'Aston Villa', '24', '67285']
==>