以下代码无法将名称和地址变量写入csv文件。当我使用数字、单词或“write”变量测试它时,这些将被记录在csv中,但“Writeaddress”和“WriteName”不会*。(同样,使用这些变量的原始源也会留下空白)
import requests, sys, pyperclip, bs4, csv
StationList = open('CTA Station Addresses.csv', 'w', newline='')
StationWrite = csv.writer(StationList)
for i in range(149):
id = str(i)
res = requests.get('http://www.transitchicago.com/travel_information /station.aspx?StopId=' + id)
res.raise_for_status()
Station = bs4.BeautifulSoup(res.text)
Name = Station.select('.rtehdng')
Address = Station.select('#ctl07_divAddress')
Write = 0
if Name == []:
print('missing name')
Write = 1
else:
#print(Name[0].getText())
WriteName = Name[0].getText()
pass
if Address == []:
print('missing address')
Write = 1
else:
#print(Address[0].getText())
WriteAddress = Address[0].getText()
pass
if Write == 0:
StationWrite.writerow([Write, WriteName, WriteAddress])
Write = 0
StationList.close()
*(我可以执行“writerows([3,Write,Writename]),CSV行将是“3,0,”)
我无法重现你的错误,但你得到的数据嵌入了换行符和空格,这会使csv看起来很奇怪。在编写csv之前,我已经清理了脚本和数据,最后得到了station、address条目。我认为没有必要编写
Write
,因为它在脚本中始终是0,在我的脚本中甚至不存在,因为我使用了异常处理。你知道吗相关问题 更多 >
编程相关推荐