正在将 API 输出响应导出到 CSV - Python

Exporting API output response to 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,对吗?)如下所示: enter image description here

我设法将其保存为 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")