Python 3.x 返回csv数据作为IBM Cloud函数的结果
我有一个用Python为IBMCloud编写的函数。对于以下python字典,返回结果为json:Python 3.x 返回csv数据作为IBM Cloud函数的结果,python-3.x,ibm-cloud,ibm-cloud-functions,Python 3.x,Ibm Cloud,Ibm Cloud Functions,我有一个用Python为IBMCloud编写的函数。对于以下python字典,返回结果为json: return {"billing_for_org": output1, "billing_for_org2:": output2} 有没有办法将此数据作为CSV文件返回?因此,当我调用api时,我可以将数据作为CSV文件下载?以下是我测试的一些示例。让我知道,如果它是你要找的 import sys import csv import io def main(dict): output =
return {"billing_for_org": output1, "billing_for_org2:": output2}
有没有办法将此数据作为CSV文件返回?因此,当我调用api时,我可以将数据作为CSV文件下载?以下是我测试的一些示例。让我知道,如果它是你要找的
import sys
import csv
import io
def main(dict):
output = io.StringIO()
my_dict = {"billing_for_org": "$100", "billing_for_org2": "$200"}
w = csv.DictWriter(output, my_dict.keys())
w.writeheader()
w.writerow(my_dict)
return {"body": output.getvalue(),
"headers": {'Content-Type': 'text/csv','Content-Disposition':'attachment;filename=myfilename.csv'}}
我不确定您是如何将函数作为RESTAPI或Web操作调用的
我将上述代码作为web操作函数进行了测试,并得到了结果。请注意,扩展名在Url的末尾显示了http
,这使得函数返回非默认(Json)有效负载
示例Url-
收到的答复-
正文:
为组织开票,为组织开票2
100美元,200美元
标题:
内容类型→文本/csv;字符集=UTF-8内容长度→45连接
→保持活动内容处置→附件filename=myfilename.csv
参考-
.
当我以web操作的形式运行上述代码时,是否没有下载任何文件?我只是看到这样的结果:{“body”:“billing_for_org,billing_for_org2\r\n$100,$200\r\n”,“headers”:{“Content Disposition”:“attachment;filename=myfilename.csv”,“Content Type”:“text/csv”}Url应该在函数名之后以.http结尾。你是在用.json扩展名吗?。