0

我正在尝试从 python 写入谷歌烛台图,但我得到了一个没有意义的 TypeError。谷歌图表说它需要一个日期列和 4 个数字列,但是当我尝试输出它时出现错误。值得注意的是,我试图将它们转换为字符串,但我一无所获。

output.write("""<html><head><script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script><script type="text/javascript">google.charts.load('current', {'packages':['corechart']});google.charts.setOnLoadCallback(drawChart);function drawChart() {var data = new google.visualization.DataTable();data.addColumn('number', 'date');data.addColumn('number','low')};data.addColumn('number','open');data.addColumn('number', 'close');data.addColumn('number', 'high');data.addRows([""")
        if backtest:
            poloData = self.conn.api_query("returnChartData",{"currencyPair": self.pair, "start": self.startTime, "end": self.endTime,"period": self.period})
            for datum in poloData:
                newTime += period
                mycandle = [newTime, datum['open'], datum['close'], datum['high'], datum['low']]
                output.write("['" + datum['date'] + "'," + datum['low'] + "," + datum['open'] + "," + datum['close'] + "," + datum['high'])
                output.write("],\n")
            if (datum['open'] and datum['close'] and datum['high'] and datum['low']):
                self.data.append(
                    BotCandlestick(self.period, datum['open'], datum['close'], datum['high'], datum['low'],
                                   datum['weightedAverage']))
            output.write("""]);var options = {legend:'none};var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div'));chart.draw(data, options);}</script></head><body><div id="chart_div" style="width: 100%; height: 100%"></div></body></html>""")

我的类型错误:

output.write("['" + datum['date'] + "'," + datum['low'] + "," + datum['open'] + "," + datum['close'] + "," + datum['high']) TypeError: must be str, not int

4

0 回答 0