[英]Code won't write to CSV file Python3, why?
我用於獲取加密價格數據的程序不會寫入 CSV 文件 Python3。 它讀取得很好並且沒有錯誤,但它不會寫入文件。 我已經在沒有其他所有內容的情況下單獨嘗試了該部分,並且它可以工作,但是由於某種原因,當我將它放在這里時,它不會將任何數據寫入 CSV。
代碼:('if time ='部分是每15分鍾獲取一次價格,並在6:50關閉腳本以准備每日系統重啟)
import requests
import json
from datetime import datetime
from time import sleep
import csv
try:
requests.get('https://api.binance.com/api/v3/ping').json()
except:
print("Connection failed")
time = str(datetime.now().time())[:5]
def get_data():
time = str(datetime.now().time())[:5]
print("\n\nTime: " + time + '\n')
with open('BTCAUD_data.csv', mode='r') as BTCAUD_data:
reader = csv.reader(BTCAUD_data, delimiter=',')
data = list(reader)[-1]
previous_buy_price = data[6]
previous_sell_price = data[8]
print(previous_sell_price)
print(previous_buy_price)
data = requests.get('https://api.binance.com/api/v3/ticker/24hr', {"symbol": "BTCAUD"}).json()
raw_price_change = data["priceChange"]
print(raw_price_change)
price_change_percent = data["priceChangePercent"]
print(price_change_percent)
weighted_avg = data["weightedAvgPrice"]
print(weighted_avg)
last_price = data["lastPrice"]
print(last_price)
last_qty = data["lastQty"]
print(last_qty)
bid_price = data["bidPrice"]
print(bid_price)
bid_qty = data["bidQty"]
print(bid_qty)
ask_price = data["askPrice"]
print(last_price)
ask_qty = data["askQty"]
print(ask_qty)
open_price = data["openPrice"]
print(open_price)
high_price = data["highPrice"]
print(high_price)
low_price = data["lowPrice"]
print(low_price)
trading_volume = data["volume"]
print(trading_volume)
quote_volume = data["quoteVolume"]
print(quote_volume)
with open('BTCAUD_data.csv', mode='w', newline='\n') as BTCAUD_data:
writer = csv.writer(BTCAUD_data)
writer.writerow([bid_price, ask_price,'\n'])
writer.writerow([previous_buy_price, previous_sell_price, raw_price_change, price_change_percent, weighted_avg, last_price, last_qty, bid_price, bid_qty, ask_price, ask_qty, open_price, high_price, low_price, trading_volume, quote_volume])
def main():
time = str(datetime.now().time())[:5]
if time == "6:50":
exit()
if time[3:] == "0":
get_data()
if time[3:] == "15":
get_data()
if time[3:] == "30":
get_data()
if time[3:] == "45":
get_data()
sleep(60)
while True:
main()
只需打開文件,然后將數據框保存為 CSV 文件,例如
data = {'column': 'row1',
'column2': 'row1',
'column3' : 'row1',
'day': 'day',
'hour' : 'hour',
}
df=pd.DataFrame(data)
df.to_csv('twee.csv',index=False)
我從未在 Python 中使用過 csv 模塊,但我對 Pandas 有一些經驗。 你可以做
import pandas as pd
然后您可以使用dataset=pd.read_csv(filename)
讀取文件
您可以對數據集進行所有操作,然后使用dataset.to_csv(output_filename)
保存它
每次使用“w”模式打開文件時,都會完全覆蓋它。 可能是您想使用“a”來代替嗎? https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.