Я вхожу первым. Я пытаюсь получить биржевые данные
from datetime import datetime
import json
import numpy as np
import statsmodels.api as stats
import statsmodels.tsa.stattools as ts
from statsmodels.tsa.stattools import adfuller
import pandas as pd
import requests
import seaborn
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)
def get_trade_stats(ticker: str, start_date: str, end_date: str):
url = f'https://iss.moex.com/iss/datashop/algop ... .only=data'
df = pd.read_csv(url, sep=';', skiprows=2)
df['Datetime'] = pd.to_datetime(df['tradedate'] + ' ' + df['tradetime'])
df.set_index("Datetime", inplace=True)
df.drop(['tradedate', 'tradetime'], inplace = True, axis=1)
return df
def get_sec_info(market="TQBR"):
data = requests.get(f'https://iss.moex.com/iss/engines/stock/ ... ities.json').text
registry=json.loads(data)
return pd.DataFrame.from_dict(registry["securities"]["data"])
def get_all_tickers():
df = get_sec_info()
return list(df[0])
def get_close(df):
return df["pr_close"]
def get_historic_data(tickers: list, start_date: str, end_date: str):
tbl = pd.DataFrame(columns=tickers)
for ticker in tickers:
df = get_trade_stats(ticker, start_date, end_date)
tbl [ticker] = get_close(df)
return tbl
all_tickers = get_all_tickers()
print(all_tickers)
def get_viable_historic_data(start_date = '2023-11-20', end_date = '2023-11-30'):
df = get_historic_data(get_all_tickers(), start_date, end_date)
df.dropna(axis='columns', inplace=True) #dropping columns with NaNs
return df
df_viable = get_viable_historic_data()
tickers = df_viable.columns
print(tickers)
Ответ должен быть следующий. Но на самом деле появляется ошибка. Сам код ошибки приведен ниже.
Index(['ABIO', 'AFKS', 'AFLT', 'AGRO', 'ALRS', 'APTK', 'AQUA', 'ASTR', 'BANE',
'BANEP', 'BELU', 'BSPB', 'CBOM', 'CHMF', 'ENPG', 'ETLN', 'FEES', 'FESH',
'FIVE', 'FIXP', 'FLOT', 'GAZP', 'GLTR', 'GMKN', 'HNFG', 'HYDR', 'IRAO',
'KMAZ', 'LKOH', 'MAGN', 'MDMG', 'MGNT', 'MOEX', 'MTLR', 'MTLRP', 'MTSS',
'MVID', 'NLMK', 'NMTP', 'NVTK', 'OGKB', 'OZON', 'PHOR', 'PIKK', 'PLZL',
'POLY', 'POSI', 'RASP', 'RENI', 'RNFT', 'ROLO', 'ROSN', 'RTKM', 'RTKMP',
'RUAL', 'SBER', 'SBERP', 'SELG', 'SFIN', 'SGZH', 'SIBN', 'SNGS',
'SNGSP', 'SOFL', 'TATN', 'TATNP', 'TCSG', 'TGKA', 'TRMK', 'UNAC',
'VKCO', 'VTBR', 'WUSH', 'YNDX'],
dtype='object')
Я получаю следующую ошибку. Вот полный текст. Я не понимаю, что делать. Помогите мне.
ParserError Traceback (most recent call last)
Cell In[5], line 1
----> 1 df_viable = get_viable_historic_data()
2 tickers = df_viable.columns
3 print(tickers)
Cell In[4], line 2
1 def get_viable_historic_data(start_date = '2023-11-20', end_date = '2023-11-30'):
----> 2 df = get_historic_data(get_all_tickers(), start_date, end_date)
3 df.dropna(axis='columns', inplace=True) #dropping columns with NaNs
4 return df
Cell In[2], line 24
22 tbl = pd.DataFrame(columns=tickers)
23 for ticker in tickers:
---> 24 df = get_trade_stats(ticker, start_date, end_date)
25 tbl [ticker] = get_close(df)
26 return tbl
Cell In[2], line 3
1 def get_trade_stats(ticker: str, start_date: str, end_date: str):
2 url = f'https://iss.moex.com/iss/datashop/algop ... .only=data'
----> 3 df = pd.read_csv(url, sep=';', skiprows=2)
4 df['Datetime'] = pd.to_datetime(df['tradedate'] + ' ' + df['tradetime'])
...
File parsers.pyx:2061, in pandas._libs.parsers.raise_parser_error()
ParserError: Error tokenizing data. C error: Expected 1 fields in line 9, saw 2
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
Подробнее здесь: https://stackoverflow.com/questions/791 ... ne-9-saw-2
ParserError: Ошибка токенизации данных. Ошибка C: ожидалось 1 поле в строке 9, было 2 [закрыто] ⇐ Python
Программы на Python
1732017638
Anonymous
Я вхожу первым. Я пытаюсь получить биржевые данные
from datetime import datetime
import json
import numpy as np
import statsmodels.api as stats
import statsmodels.tsa.stattools as ts
from statsmodels.tsa.stattools import adfuller
import pandas as pd
import requests
import seaborn
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)
def get_trade_stats(ticker: str, start_date: str, end_date: str):
url = f'https://iss.moex.com/iss/datashop/algopack/eq/tradestats/{ticker}.csv?from={start_date}&till={end_date}&iss.only=data'
df = pd.read_csv(url, sep=';', skiprows=2)
df['Datetime'] = pd.to_datetime(df['tradedate'] + ' ' + df['tradetime'])
df.set_index("Datetime", inplace=True)
df.drop(['tradedate', 'tradetime'], inplace = True, axis=1)
return df
def get_sec_info(market="TQBR"):
data = requests.get(f'https://iss.moex.com/iss/engines/stock/markets/shares/boards/{market}/securities.json').text
registry=json.loads(data)
return pd.DataFrame.from_dict(registry["securities"]["data"])
def get_all_tickers():
df = get_sec_info()
return list(df[0])
def get_close(df):
return df["pr_close"]
def get_historic_data(tickers: list, start_date: str, end_date: str):
tbl = pd.DataFrame(columns=tickers)
for ticker in tickers:
df = get_trade_stats(ticker, start_date, end_date)
tbl [ticker] = get_close(df)
return tbl
all_tickers = get_all_tickers()
print(all_tickers)
def get_viable_historic_data(start_date = '2023-11-20', end_date = '2023-11-30'):
df = get_historic_data(get_all_tickers(), start_date, end_date)
df.dropna(axis='columns', inplace=True) #dropping columns with NaNs
return df
df_viable = get_viable_historic_data()
tickers = df_viable.columns
print(tickers)
Ответ должен быть следующий. Но на самом деле появляется ошибка. Сам код ошибки приведен ниже.
Index(['ABIO', 'AFKS', 'AFLT', 'AGRO', 'ALRS', 'APTK', 'AQUA', 'ASTR', 'BANE',
'BANEP', 'BELU', 'BSPB', 'CBOM', 'CHMF', 'ENPG', 'ETLN', 'FEES', 'FESH',
'FIVE', 'FIXP', 'FLOT', 'GAZP', 'GLTR', 'GMKN', 'HNFG', 'HYDR', 'IRAO',
'KMAZ', 'LKOH', 'MAGN', 'MDMG', 'MGNT', 'MOEX', 'MTLR', 'MTLRP', 'MTSS',
'MVID', 'NLMK', 'NMTP', 'NVTK', 'OGKB', 'OZON', 'PHOR', 'PIKK', 'PLZL',
'POLY', 'POSI', 'RASP', 'RENI', 'RNFT', 'ROLO', 'ROSN', 'RTKM', 'RTKMP',
'RUAL', 'SBER', 'SBERP', 'SELG', 'SFIN', 'SGZH', 'SIBN', 'SNGS',
'SNGSP', 'SOFL', 'TATN', 'TATNP', 'TCSG', 'TGKA', 'TRMK', 'UNAC',
'VKCO', 'VTBR', 'WUSH', 'YNDX'],
dtype='object')
Я получаю следующую ошибку. Вот полный текст. Я не понимаю, что делать. Помогите мне.
ParserError Traceback (most recent call last)
Cell In[5], line 1
----> 1 df_viable = get_viable_historic_data()
2 tickers = df_viable.columns
3 print(tickers)
Cell In[4], line 2
1 def get_viable_historic_data(start_date = '2023-11-20', end_date = '2023-11-30'):
----> 2 df = get_historic_data(get_all_tickers(), start_date, end_date)
3 df.dropna(axis='columns', inplace=True) #dropping columns with NaNs
4 return df
Cell In[2], line 24
22 tbl = pd.DataFrame(columns=tickers)
23 for ticker in tickers:
---> 24 df = get_trade_stats(ticker, start_date, end_date)
25 tbl [ticker] = get_close(df)
26 return tbl
Cell In[2], line 3
1 def get_trade_stats(ticker: str, start_date: str, end_date: str):
2 url = f'https://iss.moex.com/iss/datashop/algopack/eq/tradestats/{ticker}.csv?from={start_date}&till={end_date}&iss.only=data'
----> 3 df = pd.read_csv(url, sep=';', skiprows=2)
4 df['Datetime'] = pd.to_datetime(df['tradedate'] + ' ' + df['tradetime'])
...
File parsers.pyx:2061, in pandas._libs.parsers.raise_parser_error()
ParserError: Error tokenizing data. C error: Expected 1 fields in line 9, saw 2
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
Подробнее здесь: [url]https://stackoverflow.com/questions/79170340/parsererror-error-tokenizing-data-c-error-expected-1-fields-in-line-9-saw-2[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия