gpt4 book ai didi

python-3.x - 通过 Falcon 在正文中发送 CSV

转载 作者:行者123 更新时间:2023-12-02 03:24:54 24 4
gpt4 key购买 nike

我正在尝试通过 Falcon 中的 GET 请求发送 CSV。我不知道从哪里开始。

下面是我的代码:

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

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

mylist = [
'one','two','three'
]

myfile = open("testlogcsv.csv", '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

我不想用勺子喂食,请让我知道我应该阅读/观看什么来帮助解决这个问题。
谢谢

最佳答案

您应该使用 Response.stream 属性。在返回之前必须将其设置为类文件对象(具有 read() 方法的对象)。

因此,首先,您应该将 CSV 写入此对象,然后将其提供给 Falcon。在你的情况下:

resp.content_type = 'text/csv'
# Move the file pointer to the beginning
myfile.seek(0)
resp.stream = myfile

请记住使用 seek(0) 将文件指针移到开头,因此 Falcon 可以读取它。

如果您的文件是短暂的并且足够小以存储在内存中,您可以使用像 BytesIO 这样的内存文件。而不是普通文件。它的行为就像一个普通文件,但从不写入文件系统。
myfile = BytesIO()
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)

...

resp.content_type = 'text/csv'
# Move the file pointer to the beginning
myfile.seek(0)
resp.stream = myfile

;)

关于python-3.x - 通过 Falcon 在正文中发送 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30950364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com