Напишите файл csv из источника read_html - PullRequest
0 голосов
/ 04 января 2019

У меня проблемы с экспортом HTML-таблицы (таблица 2) в CSV-файл.Я попытался использовать to_csv для объекта pd.read_html, но он не работает

import requests
from bs4 import BeautifulSoup
from selenium import webdriver
import html.parser
import pandas as pd
import time

driver=webdriver.Chrome("C:/Users/Juan Diego Bernate V/Documents/Python/Practica/APIs/chromedriver.exe")

driver.get('https://www.ambito.com/contenidos/dolar-futuro.html')
res=driver.execute_script("return document.documentElement.outerHTML")
html=driver.page_source
soup= BeautifulSoup(html, 'lxml')
tabla=soup.find_all('table')
tabla2=pd.read_html(html)

dia = time.strftime("%Y%m%d")
ruta='C:/Users/Juan Diego Bernate V/'
nombre= ruta+ 'dolar_fut_rofex_2'+dia+'.csv'

tabla2.to_csv(nombre)
print (tabla2)
print (tabla)

Это сообщение об ошибке, я написал весь код, который использовал раньше, я думал, что он не имеет отношения к делу.

DevTools прослушивает ws: //127.0.0.1: 54234 / devtools / browser / 6a47dd26-ab5d-4318-b858-226180882e0f Traceback (последний вызов последнего): файл "WSDinamicoRofex.py", строка 34, в таблице 2.to_csv (nombre) AttributeError: у объекта 'list' нет атрибута 'to_csv' Надеюсь, вы мне поможете

1 Ответ

0 голосов
/ 04 января 2019

Я не могу запустить ваш пример, но попробуйте astropy.Что-то вроде этого должно сделать:

from astropy.io import ascii

# your code here

tbl = ascii.read(html_table, format='html')

это производит astropy Table, который очень легко манипулировать, и вы можете затем сохранить в другой файл, используя

ascii.write(tbl, 'table.csv', format='csv')

или, что эквивалентно,

tbl.write('table.csv', format='ascii.csv')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...