如何在python中编码列表

时间:2018-07-03 09:59:32

标签: python python-2.7

我使用漂亮的汤从网站上检索信息,我想将这些值存储在单个csv文件行中,因此我将此信息存储在一个列表中,然后再将此列表存储在文件中。问题是我不处理特殊字符。

#Répartition des prix moyen au m²
Repartition=[]          
Inferieur=soup.find_all("text", {"class" : "p6_segmentMainLabel-outer"})
Superieur=soup.find_all("text", {"class" : "p6_segmentValue-outer"})
for Data in list(zip(Inferieur,Superieur)):
    try:
        Inferieur,Superieur = Data
        Inferieur=Inferieur.string.encode('utf-8')
        Superieur=Superieur.string.encode('utf-8') 
        Data2=' = '.join([Inferieur,Superieur])
        print Data2
        Repartition.append(Data2)
    except NavigableString: 
            pass

执行代码后,我得到:

  

Supérieurà12.27€/m²= 14   Inférieurà12.27€/m²= 14

这是csv文件中的结果

  

['Sup \ xc3 \ xa9rieur \ xc3 \ xa0 12.27 \ xe2 \ x82 \ xac / m \ xc2 \ xb2 = 14',   'Inf \ xc3 \ xa9rieur \ xc3 \ xa0 12.27 \ xe2 \ x82 \ xac / m \ xc2 \ xb2 = 14']

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果要csv输出,则应查看csv模块-https://docs.python.org/3.6/library/csv.html?highlight=csv#csv.writer

这是一个示例(摘自Python文档,并针对您的示例进行了修改):

import csv
with open('output.csv', 'w', newline='') as csvfile:
    w = csv.writer(csvfile, quotechar='|', quoting=csv.QUOTE_MINIMAL)
    w.writerow(Repartition)