我试图在互联网上获取一些信息,并将它们存储到xlsx文件中,但我需要在每15分钟更新database.xlsx时更新这些信息
我尝试过使用xlwt和xlsxwriter,但它们都无法更新database.xlsx。 现在我正在尝试这只熊猫,不知道为什么不更新
import pandas as pd
import xlsxwriter
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
import datetime
import time
def limpa_texto(texto_lista):
dados_unicos = []
linha_certa = 0
for linha, dados in enumerate(texto_lista):
if len(dados_unicos) != 0:
if dados != dados_unicos[linha_certa]:
dados_unicos.append(texto_lista[linha])
linha_certa += 1
else:
dados_unicos.append(texto_lista[linha])
return(dados_unicos)
os.chdir('C:/Users/danie/Desktop/Google Drive/GRUVE/AAA PROJETO - DANIEL E RENAN/Python')
loc_webdriver = 'C:/Users/danie/PycharmProjects/chromedriver.exe'
chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(executable_path = loc_webdriver, options = chrome_options)
writer = pd.ExcelWriter('database.xlsx', engine='xlsxwriter')
linha = 0
lista_dados = []
while True:
driver.get('http://dadosabertos.rio.rj.gov.br/apiTransporte/apresentacao/rest/index.cfm/obterTodasPosicoes')
elementos = driver.find_elements_by_xpath("//pre[contains(@style, 'word-wrap')]")
for a in elementos:
texto = a.get_attribute('innerHTML')
texto = texto[84:]
texto = texto.replace('[','')
texto = texto.replace('"','')
texto = texto.replace(']}','')
texto = texto.split(']')
texto = limpa_texto(texto)
for dados in texto:
dados = dados.split(',')
if linha != 0:
dados = dados[1:]
lista_dados.append(dados)
linha += 1
df = pd.DataFrame(lista_dados)
df.to_excel(writer, index=False, sheet_name='Banco de dados')
writer.save()
print(datetime.datetime.now().strftime('Banco de Dados atualizado - ' + '%d-%m-%Y_%H:%M:%S'))
time.sleep(900)
我假设代码将每隔900秒保存一个新的database.xlsx,但它会创建一个database.xlsx,并且不会每15分钟更新一次,但不会显示错误。 如果打印(len(df)),将显示更高的值,但不要创建另一个包含更高信息的文件
目前没有回答
相关问题 更多 >
编程相关推荐