Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:类型为'的对象_csv.writer';没有len()_Python_Python 3.x_Falconframework - Fatal编程技术网

Python TypeError:类型为'的对象_csv.writer';没有len()

Python TypeError:类型为'的对象_csv.writer';没有len(),python,python-3.x,falconframework,Python,Python 3.x,Falconframework,我试图编写csv文件并将其返回到响应体中,但我得到了 TypeError: object of type '_csv.writer' has no len() 下面是我的代码: class LogCSV(object): """CSV generator. This class responds to GET methods. """ def on_get(self, req, resp): """Generates CSV for log.

我试图编写csv文件并将其返回到响应体中,但我得到了

TypeError: object of type '_csv.writer' has no len()
下面是我的代码:

class LogCSV(object):
    """CSV generator.

    This class responds to  GET methods.
    """
    def on_get(self, req, resp):
        """Generates CSV for log."""

        mylist = [
            'test','one'
        ]

        myfile = open('testingcsv', 'w')
        wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
        wr.writerow(mylist)

        resp.status = falcon.HTTP_200
        resp.content_type = 'text/csv'
        resp.body = (wr)

我不理解错误。

您的问题在于如何调用注释中提到的CSV writer对象。您应该使用“with”语句打开新的csv文件,这样可以确保在完成后它将关闭。您的csv文件未指定为*.csv文件(缺少句点)。您还可以将其全部设置为一个方法,将列表传递到该方法中,而不是在该方法中创建

我希望这些建议能有所帮助

def on_get(filename, retrievedData) :
    with open(filename, 'w') as csvfile:
        dataWriter = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
        dataWriter.writerow(retrievedData)

retrievedData = ['test','one']

on_get('testing.csv', retrievedData)

您正试图在响应中发送实际的CSV Writer对象。您很可能希望发送数据。