Panda: невозможно присвоить индекс экспортируемой таблице с веб-сайта - PullRequest
0 голосов
/ 05 июня 2018

В следующем коде, который экспортирует таблицу, я пытаюсь поместить эту таблицу во фрейм данных Panda для анализа, но индексирование не является уникальным для строки или столбца и повторяется для столбцов Контракт, Изменить, Последний, Расчетный

from urllib.request import urlopen
  from bs4 import BeautifulSoup
  import pandas as pd
  import requests
  import numpy as np

res = requests.get('https://shared.websol.barchart.com/quotes  /quote.php?page=quote&sym=ng&x=13&y=8&domain=if&display_ice=1&enabled_ice_exchanges=&tz=0&ed=0')

soup = BeautifulSoup(res.text, 'lxml')
soup.prettify()
Header = soup.findAll('tr', limit=2)[1].findAll('th')

 column_headers = [th.getText() for th in soup.findAll('tr', limit=2)[1].findAll('th')]

 print(column_headers)

 data_rows = soup.findAll('tr')[2:]
 i = range(len(data_rows))
 # for cell in data_rows
  for td in data_rows:
  row = td.get_text().replace('\\n', '').strip()
  df = pd.DataFrame(columns= column_headers, index range(0,len(data_rows)), data = row)
   print(df)

Обычный выход ниже.

['Contract', 'Last', 'Change', 'Open', 'High', 'Low', 'Volume', 'Prev. Stl.', 'Time', 'Links']
   Cash (NGY00)    2.910s    +0.010    0.000    2.910    2.910    0    2.900    06/04/18    Q / C / O
    000    2.528    2.528    0    2.539    06/04/18    Q / C / O
    May \'21 (NGK21)    2.503s    -0.011    2.500    2.503    2.500    1    2.514    06/04/18    Q / C / O
    Jun \'21 (NGM21)    2.529s    -0.011    0.000    2.529    2.529    0    2.540    06/04/18    Q / C / O
    Jul \'21 (NGN21)    2.557s    -0.011    0.000    2.557    2.557    0    2.568    06/04/18    Q / C / O
    Aug \'21 (NGQ21)    2.567s    -0.011    0.000    2.567    2.567    0    2.578    06/04/18    Q / C / O
    Sep \'21 (NGU21)    2.565s    -0.011    0.000    2.565    2.565    0    2.576    06/04/18    Q / C / O
    Oct \'21 (NGV21)    2.580    -0.013    2.580    2.580    2.580    30    2.593    13:42    Q / C / O
    Nov \'21 (NGX21)    2.653s    -0.011    0.000    2.653    2.653    0    2.664    06/04/18    Q / C / O
    Dec \'21 (NGZ21)    2.797s    -0.011    2.805    2.805    2.797    3    2.808    06/04/18    Q / C / O
    Jan \'22 (NGF22)    2.902s    -0.011    2.900    2.902    2.900    1    2.913    06/04/18    Q / C / O
    Feb \'22 (NGG22)    2.872s    -0.011    2.885    2.885    2.872    3    2.883    06/04/18    Q / C / O
    Mar \'22 (NGH22)    2.799s    -0.011    0.000    2.799    2.799    0    2.810    

Выход Panda не должен быть таким.Каждая строка и столбец должны иметь специальный индекс для анализа.Например,Я хочу сравнить разницу между измененными ценами в конкретном столбце или последней ценой и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...