簡體   English   中英

寫入多個 csv 文件時 DataFrame 屬性錯誤

[英]DataFrame attribute error when writing multiple csv files

I'm trying to extract the daily OHLCV data for over 1,000 coins from the cryptocompare api and write those data to csv files;I have managed to write the daily_OHLCV function and it performs well if I call the function on individual coin, say daily_OHLCV( 'BTC'、'USD')。

但是,當我從 csv 文件中導入 1000 個硬幣的代碼列表並嘗試使用 for 循環為列表中的每個代碼調用 daily_OHLCV function 時,代碼不起作用並且錯誤消息顯示“DataFrame” ' object 沒有屬性 'time',如果我手動將代碼輸入到標識符中,它從未出現過。如何修復此屬性錯誤?

import requests
import datetime
import pandas as pd
import json
import csv
import os
import os.path

with open ('ICO-list.csv',"r")as f:
    reader=csv.reader(f)
    ico_ticker_list=[]
    for row in reader:
        ticker=row[2]
        ico_ticker_list.append(ticker)

def daily_OHLCV(symbol, comparison_symbol, allData='true'):
    url = 'https://min-api.cryptocompare.com/data/histoday?fsym={}&tsym={}&allData=true'\
        .format(symbol.upper(), comparison_symbol.upper())
    page = requests.get(url)
    data = page.json()['Data']
    df = pd.DataFrame(data)
    df['timestamp'] = [datetime.datetime.fromtimestamp(d) for d in df.time]
    path=os.path.expanduser('~')
    csvfile=os.path.join(path,'Desktop','Research','daily OHLCV','{}.csv'.format(symbol))
    export_csv=df.to_csv(csvfile,na_rep='NA',index=None,header=True)


for item in ico_ticker_list:
    daily_OHLCV(item,'USD')

非常感謝有人可以幫助解決此問題以成功調用 function 並為 ico_ticker_list 中的所有代碼生成相應的 csv 文件

在這一行中,您正在嘗試讀取dataframe中的時間

df['timestamp'] = [datetime.datetime.fromtimestamp(d) for d in df.time]

'DataFrame' object has no attribute 'time' 錯誤意味着您的 dataframe 沒有此列。 這可能是因為您的 api 響應沒有與time相關的特定數據字段。 在創建 dataframe 之前檢查 api 響應並從df.columns獲取列名並確認時間列存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM