TypeError: object of type '_csv.writer' has no len()
TypeError: object of type '_csv.writer' has no len()
我正在尝试编写 csv 文件并 return 它们在响应正文中,但我得到
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 编写器对象。您应该使用 "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 文件并 return 它们在响应正文中,但我得到
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 编写器对象。您应该使用 "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)