【发布时间】:2018-07-06 11:49:30
【问题描述】:
请大家帮忙。请指出当提取的评论被写入hotelreview.csv 中的 3 个单独列时我错了,我该如何解决这个问题以便将它们写入 1 列?以及如何根据下面的代码为其添加标题名称“review”。 而且我还想将新提取的数据(“评论”列)添加到现有的 csv 'hotel_FortWorth.csv' 中。我刚刚将提取的信息添加到一个新的 csv 中,我不知道如何将 2 个文件组合在一起或任何其他方式?网址可以重复以匹配评论。请! 谢谢!
文件“hotel_FortWorth.csv”有 3 列,例如:
Name link
1 Omni Fort Worth Hotel https://www.tripadvisor.com.au/Hotel_Review-g55857-d777199-Reviews-Omni_Fort_Worth_Hotel-Fort_Worth_Texas.html
2 Hilton Garden Hotel https://www.tripadvisor.com.au/Hotel_Review-g55857-d2533205-Reviews-Hilton_Garden_Inn_Fort_Worth_Medical_Center-Fort_Worth_Texas.html
3......
...
我使用现有 csv 中的 url 来提取评论,代码如下所示:
import requests
from unidecode import unidecode
from bs4 import BeautifulSoup
import pandas as pd
file = []
data = pd.read_csv('hotel_FortWorth.csv', header = None)
df = data[2]
for url in df[1:]:
print(url)
thepage = requests.get(url).text
soup = BeautifulSoup(thepage, "html.parser")
resultsoup = soup.find_all("p", {"class": "partial_entry"})
file.extend(resultsoup)
with open('hotelreview.csv', 'w', newline='') as fid:
for review in file:
review_list = review.get_text()
fid.write(unidecode(review_list+'\n'))
预期结果:
name link review
1 ... ... ...
2
....
【问题讨论】:
标签: python csv multiple-columns add