我正在制作一个字典,其中包含包含č,ě,á
(捷克语字母)等字符的单词。当我在添加到字典之前尝试将这些单词打印到控制台中时,我可以看到正确的编码单词。问题是,当我将它添加到字典并打印出它的值时,我看到它但是编码错误。这是我的控制台的打印屏幕,第一行是print name
,第二行是print dict
。
这些单词/句子应该是相同的。
的信息:
PyCharm IDE,Python 2.7.8,默认编码:“utf-8”
感谢您的建议!
编辑:附加代码('url'是网页的网址):
def getSoup(url):
req = urllib2.Request(url)
response = urllib2.urlopen(req)
page = response.read()
soup = BeautifulSoup(page, 'xml')
return soup
a=0
klubyDict = dict()
index = getSoup("url")
all = index.findAll('A')
for i in all:
okres = getSoup("http://url%s"%(i['HREF']))
kluby = okres.findAll('A')
# print(kluby[0]['HREF'])
print "Okrsok...%s"%(i.text)
for klub in kluby:
klubHtml = getSoup("http://url%s"%(klub['HREF']))
name = klub.text
print name
emailTag = klubHtml.find('td',text=re.compile("Email:"))
email = emailTag.text[7:]
if len(name)>0:
klubyDict[name]=email if len(email)>0 else "email nezadany"
print klubyDict
print "Saving to file..."
with open('futbaloveKluby','wb') as f:
pickle.dump(klubyDict,f)
EDIT2:将数据添加到Excel文件
# -*- coding: utf-8 -*-
import cPickle as pickle
dict = dict()
workbook = xlsxwriter.Workbook('Futbal.xlsx')
worksheet = workbook.add_worksheet()
with open('futbaloveKluby','rb') as f:
dict = pickle.load(f)
colKlub = 0
colEmail = 1
row = 0
for klub in dict.keys():
worksheet.write(row,colKlub, klub)
worksheet.write(row,colEmail, dict[klub])
row += 1
workbook.close()
print table.text
主要的是,在此代码之后,我使用xlscWriter将此字典的值放入Excel表中。当我打开Excel文件时,我可以看到错误的字符。
答案 0 :(得分:0)
import codecs
并使用此代码作为您的名字:
name = klub.text
print name.decode('utf-8')