Отдельные данные Python для веб-страниц в разных столбцах - PullRequest
1 голос
/ 08 ноября 2019

Я попытался очистить данные с помощью API и поместить эти результаты в файл CSV. Но когда я открываю свой CSV-файл, все данные объединяются в 1 столбце (A). Вместо этого я хочу, чтобы данные были разделены на разные столбцы (A & B (и C, D, E, F и т. Д., Когда я хочу добавить информацию)). Как я могу это сделать?

import requests
import pandas as pd
from pandas.compat import StringIO
import numpy as np
import datetime as dt
from dateutil.relativedelta import relativedelta
import csv

csv_file = open('/Users/katewang/Desktop/Test/scrape.csv', 'w')
csv_writer = csv.writer(csv_file)

def get_EOD_data(api_token='5cb671b0b4a790.35526238', session = None, tickers = 'AAPL', start_date = dt.datetime(2018,1,1), end_date = dt.datetime(2018,12,31)):
    symbols = tickers
    if session is None:
        session = requests.Session()

    url = 'https://eodhistoricaldata.com/api/eod/%s.US' % symbols
    params = {"api_token": api_token, "from": start_date, "to": end_date}
    r = session.get(url, params = params)
    if r.status_code == requests.codes.ok:


    cols=[0,5]
    df = pd.read_csv(StringIO(r.text), skipfooter = 1, parse_dates = [0], engine = 'python', na_values=['nan'], index_col = 0, usecols = cols)

    df.fillna(method = 'ffill', inplace = True)
    df.fillna(method = 'bfill', inplace = True)
    return df

def main():
    df_data = get_EOD_data()
    csv_writer.writerow([df_data])

if __name__ == '__main__':
    main()

csv_file.close()

Я ожидаю увидеть два отдельных столбца.

1 Ответ

0 голосов
/ 08 ноября 2019

Вы видите только один столбец, так как из двух выбранных столбцов 0 и 5 вы устанавливаете столбец 0 в качестве индекса при создании кадра данных. В качестве фактического столбца остается только столбец 5.

Вы можете проверить это самостоятельно, удалив index_col = 0 из строки

df = pd.read_csv(StringIO(r.text), skipfooter = 1, parse_dates = [0], engine = 'python', na_values=['nan'], index_col = 0, usecols = cols)

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