如何在python中对列表进行编码

2024-04-25 22:07:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用BeautifulSoup从web站点检索信息,并希望将这些值存储在单个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']

非常感谢您的帮助!你知道吗


Tags: 文件csvtext信息列表allfindclass
1条回答
网友
1楼 · 发布于 2024-04-25 22:07:53

如果您想要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)

相关问题 更多 >