将API输出响应导出为CSV-Python



我不是Python专家,但我用它从API调用数据。我得到了一个代码200,并打印了部分数据,但我无法导出/保存/写入输出(到CSV(。有人能帮忙吗?

这是我的代码:

import requests
headers = {
'Accept': 'text/csv',
'Authorization': 'Bearer ...'
}
response = requests.get('https://feeds.preqin.com/api/investor/pe', headers=headers)
print response
output = response.content

以下是数据(应该是CSV,对吗?(的样子:在此处输入图像描述

我设法将其保存为txt,但输出不可用/不可导入(例如Excel(。我使用了以下代码:

text_file = open("output.txt", "w")
n = text_file.write(output)
text_file.close()

谢谢你并致以最良好的问候,

您的内容使用管道|作为分隔符。CSV使用,逗号(这就是为什么它们被称为逗号分隔值(。

您可以简单地用逗号替换数据的管道。但是,如果您拥有的数据本身使用逗号,这可能会有问题。

output = response.content.replace("|", ",")

正如评论所建议的,您也可以使用pandas:

import pandas as pd
from StringIO import StringIO
# Get your output normally...
output = response.content
df = pd.read_csv(StringIO(output), sep="|")
# Saving to .CSV
df.to_csv(r"C:output.csv")
# Saving to .XLSX
df.to_excel(r"C:output.xlsx")

最新更新