代码不会写入CSV文件Python3,为什么?

代码不会写入CSV文件Python3,为什么?,python,python-3.x,csv,Python,Python 3.x,Csv,我获取加密价格数据的程序不会写入CSV文件Python3。它读起来很好,没有错误,但不会写入文件。 我已经尝试了自己的部分没有所有其他的东西,它的工作,但由于某种原因,当我把它放在这里,它只是不会写任何数据到CSV 代码: “if time=”部分是每15分钟获取一次价格,并在6:50关闭脚本,为每天的系统重启做准备 import requests import json from datetime import datetime from time import sleep import cs

我获取加密价格数据的程序不会写入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()

我从未在Python中使用过csv模块,但我对Pandas有一些经验。 你能行

import pandas as pd
然后可以使用dataset=pd.read\u csvfilename读取文件


您可以对数据集执行所有操作,然后将其与数据集一起保存。要使用文件名,我从未在Python中使用过csv模块,但我有一些使用熊猫的经验。 你能行

import pandas as pd
然后可以使用dataset=pd.read\u csvfilename读取文件


您可以对数据集执行所有操作,然后将其与数据集一起保存。要使用文件名,每次以w模式打开文件时,都会完全覆盖该文件。可能是您想使用一个toappend来代替?

每次以w模式打开文件时,都会完全覆盖它。可能是您想使用一个toappend来代替?

例如,只需打开文件,然后将数据帧另存为CSV文件

data = {'column': 'row1',
         'column2': 'row1',
         'column3' : 'row1',
         'day': 'day',
         'hour' : 'hour',
        }

    df=pd.DataFrame(data)
    df.to_csv('twee.csv',index=False)

例如,只需打开文件,然后将数据帧另存为CSV文件

data = {'column': 'row1',
         'column2': 'row1',
         'column3' : 'row1',
         'day': 'day',
         'hour' : 'hour',
        }

    df=pd.DataFrame(data)
    df.to_csv('twee.csv',index=False)

您的代码包含大量与写入文件无关的内容。请删除这些杂音,并发布一个重现问题所需的绝对最小值。这就是问题所在,当代码正是编写文件所需的内容时,它可以正常工作,但如果添加了其他内容,它将不起作用。尽管如此,我仍将尝试在保留问题的同时对其进行整合。您的代码包含大量与写入文件无关的内容。请删除这些杂音,并发布一个重现问题所需的绝对最小值。这就是问题所在,当代码正是编写文件所需的内容时,它可以正常工作,但如果添加了其他内容,它将不起作用。不过,我会在保留问题的同时,设法巩固这一点。