[英]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.