Anonymous
ParserError: Ошибка токенизации данных. Ошибка C: ожидалось 1 поле в строке 9, увидело 2
Сообщение
Anonymous » 08 ноя 2024, 17:02
Я вхожу первым. Я пытаюсь получить данные по акциям
Код: Выделить всё
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)
и тут появляется ошибка
Я пробовал разные варианты, но ошибка не устранена. Пожалуйста, помогите.
ParserError: Ошибка токенизации данных. Ошибка C: ожидалось 1 поле в строке 9, было 2
как это исправить?
Подробнее здесь:
https://stackoverflow.com/questions/791 ... ne-9-saw-2
1731074563
Anonymous
Я вхожу первым. Я пытаюсь получить данные по акциям [code]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) [/code] и тут появляется ошибка Я пробовал разные варианты, но ошибка не устранена. Пожалуйста, помогите. ParserError: Ошибка токенизации данных. Ошибка C: ожидалось 1 поле в строке 9, было 2 как это исправить? Подробнее здесь: [url]https://stackoverflow.com/questions/79170340/parsererror-error-tokenizing-data-c-error-expected-1-fields-in-line-9-saw-2[/url]