0

我有这个代码:

  def _download_url(url):
    response = None
    try:
        response = urllib.request.urlopen(url)

        content_bytes=response.read()
        content_string=content_bytes.decode(encoding='utf-8')

        data = io.StringIO(content_string)
        mycsv=csv.reader(data)
        mycsv = csv.DictReader(data)

        print('{:<11} {:<8} {:<12} {:<12}'.format('Date', 'Close', 'Indicator', 'Signal'))
        for row in mycsv:

            print('{:<11} {:<8}'.format(row['Date'], row['Adj Close']))

如何创建代码以便能够在指标/信号列下方插入数据?我想从“关闭”列中获取数据并使用该数字列表来查找平均值并将其打印在指标列下方。然后使用指标中的结果并在信号列下方对其进行处理。

--edit-- 这是我运行时的样子

Date        Close    Indicator    Signal      
2012-11-30  698.37   
2012-11-29  691.89  
2012-11-28  683.67  
2012-11-27  670.71  
2012-11-26  661.15  
2012-11-23  667.97  

但是,我希望它看起来像

Date        Close    Indicator    Signal      
2012-11-30  698.37     0
2012-11-29  691.89  -put data here-
2012-11-28  683.67  -another data-
2012-11-27  670.71  -etc-
2012-11-26  661.15  
2012-11-23  667.97  

我想从第二列(关闭)中获取数据并使用这些数字来计算平均值

4

1 回答 1

0

仍然不了解 OP 想要什么,如下所示

在指标/信号列下方插入数据,但我不敢相信这就是 OP 想要的。

因此,通过放入calculated_indicatorcalculated_signal输入,我们可以确定这些函数是对行还是对完整的行起作用。

def calculated_indicator(row):
     return 0

def calculated_signal(row):
     return 0

def _download_url(url):
    response = None
    try:
        response = urllib.request.urlopen(url)

        content_bytes=response.read()
        content_string=content_bytes.decode(encoding='utf-8')

        data = io.StringIO(content_string)
        mycsv=csv.reader(data)
        mycsv = csv.DictReader(data)

        print('{:<11} {:<8} {:<12} {:<12}'.format('Date', 'Close', 'Indicator', 'Signal'))
        for row in mycsv:

            print('{:<11} {:<8}'.format(row['Date'], row['Adj Close'], calculated_indicator(row), calculated_signal(row)))
于 2013-02-18T19:40:22.200 回答