У меня есть вопрос, тесно связанный с Scrape arraytodatatable с python .
Я использовал отличный совет для обработки информации с сайта: http://www.oilsandsmagazine.com/energy-statistics/oil-and-gas-prices#dailyUSD
Iпрочитайте страницу и хотите извлечь часть данных, которая выглядит следующим образом:
var data1 = google.visualization.arrayToDataTable([
['date', 'BRENT', 'WTI', 'CDN LIGHT', 'WCS'],
[new Date(2018, 3, 1), null, null, null,null],
[new Date(2018, 3, 2), 67.64, 63.01, 58.53, 42.53],
[new Date(2018, 3, 3), 68.12, 63.51, 58.58, 44.53],
[new Date(2018, 3, 4), 68.02, 63.37, 58.12, 45.53],
[new Date(2018, 3, 5), 68.33, 63.54, 58.20, 46.05],
[new Date(2018, 3, 6), 67.11, 62.06, 56.39, 44.65],
])
Я использовал следующее, чтобы попытаться извлечь данные, которые управляют диаграммой:
pattern = re.compile(r"var data1 = google\.visualization\.arrayToDataTable\((.*?)\);", re.MULTILINE | re.DOTALL)
data = pattern.search(res.text).group(1)
data=data.replace('new Date','')
Iполучить данные, близкие к тому, что мне нужно.
[
['date', 'BRENT', 'WTI', 'CDN LIGHT', 'WCS'],
[new Date(2018, 3, 1), null, null, null,null],
[new Date(2018, 3, 2), 67.64, 63.01, 58.53, 42.53],
[new Date(2018, 3, 3), 68.12, 63.51, 58.58, 44.53],
[new Date(2018, 3, 4), 68.02, 63.37, 58.12, 45.53],
[new Date(2018, 3, 5), 68.33, 63.54, 58.20, 46.05],
[new Date(2018, 3, 6), 67.11, 62.06, 56.39, 44.65],
]
, но когда я пытаюсь:
data2 = ast.literal_eval(data)
ast.literal_eval () завершается ошибкой.Я не думаю, что ему нравится формат даты.Я пытаюсь в конечном итоге получить это в панде Dataframe.
Раньше я никогда не использовал модуль ast, поэтому я ищу любую помощь / указатели, которые вы можете предложить.
Сильно признателен.