以CSV格式导出嵌套列表/dictionary



尝试将以下列表/字典导出到CSV文件中;名称";以及";评论";应该在不同的列中。

还试图添加一个额外的柱子,并设置str(Shore Cliff Hotel(。

reviews = []
name_pos = response.find('"reviewer_name"')  # find first review
while name_pos >= 0:
name = ""
review_blocks = []
start_pos = response.find('"name"', name_pos)
end_pos = response.find("</span>", start_pos)
if end_pos > start_pos >= 0:
name = response[start_pos + 7: end_pos]
prev_name_pos = name_pos
name_pos = response.find('"reviewer_name"', name_pos + 1)  # get next review
start_pos = response.find('"reviewBody"', prev_name_pos, name_pos)
while start_pos >= 0:
end_pos = response.find("</span>", start_pos)
if end_pos > start_pos >= 0:
review_blocks.append(response[start_pos + 13: end_pos])
start_pos = response.find('"reviewBody"', start_pos + 1, name_pos)
reviews.append((name, "n".join(review_blocks)))

只需按照您想要的方式收集行,然后让csv模块来引用这些换行符。

import csv
...
...
reviews.append((name, "n".join(review_blocks), "Shore Cliff Hotel"))
fcsv = csv.writer(open('myfile.csv','w'))
fcsv.writerow( ('name','reviews','hotel') )
fcsv.writerows(reviews)

最新更新