簡體   English   中英

即使使用完全指定的文件路徑,df.to_csv 也不會生成 CSV 文件

[英]df.to_csv is not generating a CSV file even with fully specified filepath

仍在努力學習Python。 作為學習練習,我嘗試編寫一個腳本來從 coinmarketcap.com 中提取過去 5 年的歷史比特幣數據。 我有它所以沒有任何錯誤生成,但最后沒有生成 CSV 文件。 我在別處閱讀它可能會保存到另一個目錄,但我可以看到工作目錄是我正在查找的位置,並且我在該目錄中的另一個腳本中使用了 df.to_csv 並且它正確保存了。

我正在通過 Anaconda Notebooks 使用 Spyder。 這是我的腳本:

from bs4 import BeautifulSoup
import requests
import pandas as pd
import json

coins = {}

for i in coins:
        page = requests.get('https://coinmarketcap.com/currencies/bitcoin/historical-data/?start=20150920&end=20200918')
        soup = BeautifulSoup(page.content, 'html.parser')
        data = soup.find('script', id="__NEXT_DATA__",type="application/json")
        historical_data = json.loads(data.contents[0]) 
        quotes = historical_data['props']['initialState']['cryptocurrency']['ohlcvHistorical']['i']['quotes']

        market_cap = []
        volume = []
        timestamp = []
        name = []
        symbol = []
        slug = []
    
        df = pd.DataFrame(columns = ['marketcap','volume','timestamp','name','symbol','slug'])
        for j in quotes:
            market_cap.append(j['quote']['USD']['market_cap'])
            volume.append(j['quote']['USD']['volume'])
            timestamp.append(j['quote']['USD']['timestamp'])
            name.append(info['name'])
            symbol.append(info['symbol'])
            slug.append(coins[i])
            df['marketcap'] = market_cap
            df['volume'] = volume
            df['timestamp'] = timestamp
            df['name'] = name
            df['symbol'] = symbol
            df['slug'] = slug
        df.to_csv('C:\\Python34\\Projects\\Trends\\btcvalue.csv', index=False)

你的第一個 for 循環永遠不會運行,因為coins總是空的。 我建議將df.to_csv移出 for 循環。

[...] 

coins = {}

for i in coins:

[...]

        df['slug'] = slug
df.to_csv('C:\\Python34\\Projects\\Trends\\btcvalue.csv', index=False)

暫無
暫無

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

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