繁体   English   中英

如何将 output 从 Python 循环保存到 CSV 文件?

[英]How can I save the output from Python loop to CSV file?

我想将 output 从以下 Python 循环保存到 CSV

ticker_list = ['GBX', 'AYI', 'SMPL', 'BSET']

from yahoofinancials import YahooFinancials as yf

yahoo_financials = yf(ticker_list)

price = yahoo_financials.get_historical_price_data('2019-07-02', '2019-07-02', 'daily')

df = pd.DataFrame(price)


def get_price():
    df1 = pd.DataFrame()
    for i in ticker_list:
        df1_i = pd.DataFrame(df[i]['prices'])
        df1_i['ticker'] = i
        df1 = df1.append(df1_i)

    df1.to_csv(r'price_20190702.csv')

我想将所有四个代码的价格信息保存到单个 CSV 文件中。 但是,当我调用def get_price()时,没有保存 CSV 文件。

您可以 append 数据帧:

import pandas as pd
from yahoofinancials import YahooFinancials as yf

TICKER_LIST = ['GBX', 'AYI', 'SMPL', 'BSET']
yahoo_financials = yf(TICKER_LIST)
price = yahoo_financials.get_historical_price_data('2019-07-02', '2019-07-02', 'daily')

df = pd.DataFrame()
for t in TICKER_LIST:
    df = df.append(price[t], ignore_index=True)
df.to_csv('price_20190702.csv', index=False)

Output:

eventsData,firstTradeDate,id,isPending,prices,timeZone
{},"{'formatted_date': '1994-07-14', 'date': 774172800}",1d15620256001562025600,0.0,[],{'gmtOffset': -14400}
{},"{'formatted_date': '2001-12-03', 'date': 1007370000}",1d15620256001562025600,0.0,[],{'gmtOffset': -14400}
{},"{'formatted_date': '2017-07-05', 'date': 1499241600}",1d15620256001562025600,0.0,[],{'gmtOffset': -14400}
{},"{'formatted_date': '1980-03-17', 'date': 322131600}",1d15620256001562025600,0.0,[],{'gmtOffset': -14400}

您可以使用打开

例如:

while True:
   data = 'Changes every time'
   with open('t.csv','a') as f:
      wr = csv.writer(f)
      wr.writerow(data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM