Python и Pandas Создание нескольких Dynami c листов Excel с фреймами данных - PullRequest
0 голосов
/ 06 мая 2020

Заранее спасибо! Я боролась несколько дней, так что пришло время задать вопрос. У меня есть программа, которая извлекает информацию для трех акций с помощью модуля «yfinance». Она использует список тикеров в текстовом файле. Я могу получить желаемую информацию во фрейме данных для каждого тикера в списке, используя для l oop. Затем я хочу сохранить информацию для каждого отдельного тикера отдельно лист в Excel книгу с именем лист в качестве тикера. На данный момент я создаю три отдельных фрейма данных, но в выходных данных Excel есть только одна вкладка с последней запрошенной информацией тикера (MSFT). Я думаю, мне, возможно, придется использовать процесс добавления для создания новой вкладки с информацией о каждом фрейме данных, спасибо за любые предложения.

Код

import platform
import yfinance as yf
import pandas as pd
import csv

# check versions
print('Python Version: ' + platform.python_version())
print('YFinance Version: ' + yf.__version__)

# load txt of tickers to list, contains three tickers
tickerlist = []
with open('tickers.txt') as inputfile:
    for row in csv.reader(inputfile):
        tickerlist.append(row)

# iterate through ticker txt file
for i in range(len(tickerlist)):
    tickersymbol = tickerlist[i]
    stringticker = str(tickersymbol)
    stringticker = stringticker.replace("[", "")
    stringticker = stringticker.replace("]", "")
    stringticker = stringticker.replace("'", "")

    # set data to retrievable variable
    tickerdata = yf.Ticker(stringticker)
    tickerinfo = tickerdata.info

    # data items requested
    investment = tickerinfo['shortName']
    country = tickerinfo['country']

    # create dataframes from lists
    dfoverview = pd.DataFrame({'Label': ['Company', 'Country'],
                          'Value': [investment, country]
                           })

    print(dfoverview)
    print('-----------------------------------------------------------------')

    #export data to each tab (PROBLEM AREA)
    dfoverview.to_excel('output.xlsx',
                        sheet_name=stringticker)

Вывод

Python Версия: 3.7.7

YFinance Версия: 0.1.54

Компания Walmart In c.

Страна США

Компания Tesla, In c.

Страна США

Компания Microsoft Corporation

Страна США

Процесс завершен с кодом выхода 0

РЕДАКТИРОВАНИЕ: удален оригинал, чтобы попытаться опубликовать его на правильном форуме / месте

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