当前位置: 首页 > 知识库问答 >
问题:

通过猎鹰发送CSV

宋志学
2023-03-14

我正试图通过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

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

共有1个答案

彭阳朔
2023-03-14

您应该使用响应。流属性。在返回之前,必须将其设置为类似文件的对象(具有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

;)

 类似资料:
  • 如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star

  • 我想在登录时向特定用户发送通知,我使用Firebase消息,我可以通过控制台发送通知,但我想使用发送到主题和request以Swift代码发送此通知。当我在postman中运行代码时,我无法实现http请求以发送通知。我有以下错误: 请求缺少身份验证密钥(FCM令牌)。请参阅FCM文档的“认证”部分,网址为https://firebase.google.com/docs/cloud-messagi

  • 问题内容: 大家好,我正尝试通过websockets发送javascript对象: faye-websockets文档说: send(message) 接受字符串或缓冲区,并通过连接向另一对等方发送文本或二进制消息。 服务器端我正在使用node和faye。 客户端: 我的错误是什么?谢谢 问题答案: WebSockets支持发送和接收:字符串,类型数组(ArrayBuffer)和Blob。发送之前

  • 问题内容: 我定义一个类,然后设置该类类型的对象。我想将此对象透明地发送到在另一台计算机上运行的另一个Java应用程序。什么是实现这一目标的最佳技术? 问题答案: 您可以使用Java API创建对象流并发送任何可序列化的对象。但您必须注意,这些内容不会通过网络进行加密: 在发送方方面: 在接收端:

  • 问题内容: 我有一个内置的javascript,它可以执行以下操作:通过ajax-> php-> sql获取内容,并在单击内容后在index.php上显示它,将显示新内容。 现在,我想拥有一个在将内容单击到php之后发送数据的函数,该函数将在db中执行某些操作。如何创建将发送数据的功能?谢谢! 这是我的显示内容的代码: }); }` 问题答案: 您可以通过在jQuery.ajax 设置中包含值,将

  • 我有一个 这个数组由保存的字符串和核心数据组成。我想通过空投发送这个。我已经签出了,并且我试图通过以下方式发送它 这给了我以下错误“NSInvalidArgumentException”,原因是:“JSON写入(证书)中的类型无效” 我已经将数据转换为字符串,所以不确定我在这里错过了什么 我研究了NSInvalidArgumentException,原因:“JSON写入中的类型无效(u NSDat