python - CSV 不生成时
问题描述
它不会生成。
当它这样做时,文件是空白的。
import csv
import requests
from bs4 import BeautifulSoup as bs
for i in range(3):
r = requests.get('https://www.nairaland.com/search/afonja/0/0/0/{}'.format(i))
soup = bs(r.content, 'lxml')
occurrences = len(soup.select('.highlight')) #if soup.select_one('.highlight') else
z=[occurrences]
with open('z.csv', 'w') as csv_file:
writer = csv.writer(csv_file)
writer.writerow([z])
更新:有人已经解决了。那个用户很清楚。
解决方案
您需要将所有出现的值收集到一个列表中,而不是每次循环都覆盖该列表。循环后,将列表写入 CSV 文件。
并且由于z
已经是一个列表,因此在将其写入文件时无需写入[z]
。
import csv
import requests
from bs4 import BeautifulSoup as bs
z = []
for i in range(3):
r = requests.get('https://www.nairaland.com/search/afonja/0/0/0/{}'.format(i))
soup = bs(r.content, 'lxml')
occurrences = len(soup.select('.highlight'))
z.append(occurrences)
with open('z.csv', 'w') as csv_file:
writer = csv.writer(csv_file)
writer.writerow(z)
推荐阅读
- python-3.x - 搜索 Socket 主机并显示它们的 IP 地址 Python
- java - 以 ArrayList 作为返回类型的 AsyncTask
- php - PHP xdebug 已加载,但从不连接,也从不记录任何内容
- vue.js - 测试使用 Vuetify 的 NuxtJS 组件
- java - 谷歌地图从firebase数据库中绘制多个标记
- windows - 在 terraform 中解密 Windows 密码
- python - 用 Python 计算文本中的单词(偶数倍数)
- excel - 使用 VBA 在工作表之间复制单元格
- batch-file - 如何给 .bat 代码行一个时间限制?
- swift - UITableView 自定义单元格高度未正确管理 swift 中的动态约束