我使用美丽的汤从网站检索信息,我想将这些值存储在单个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
执行代码后,我得到:
12.27 €/平方米 = 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']
非常感谢帮助!
如果你想要 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)