Python Web Api到CSV

2024-10-06 12:43:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一些帮助编写API结果到一个.CSV文件使用Python。你知道吗

我有我的源作为CSV文件。它在一列中包含以下URL作为单独的行。你知道吗

我可以调用webapi并得到打印结果。请查看附件中的“Web API结果”快照。你知道吗

Web API results

当我尝试将这些结果导出到csv时,我是根据附件中的“API results csv”获取它们的。它并没有转移所有的记录。现在,它只将最后一条记录发送到csv。你知道吗

API results csv

对于所有给定的输入,我的最终输出应符合所附的“我的最终输出应为”。你知道吗

My Final Output Should be

请找到下面我使用过的python代码。我很感激你在这方面的帮助。请找到我的代码的附加图像。My Code

import csv, requests
with open('C:/Desktop/iva.csv',newline ='') as f:
    reader = csv.reader(f)
    for row in reader:
        urls = row[0]
        print(urls)
        r = requests.get(urls)
        print (r.text)
                with open('C:/Desktop/ivan.csv', 'w') as csvfile:
                       csvfile.write(r.text)

Tags: 文件csvhttpsapimakemodelurlsreader
2条回答

您必须创建csvfile的writer对象(要创建)。并使用writerow()方法写入csvfile。你知道吗

import csv,requests
with open('C:/Desktop/iva.csv',newline ='') as f:
    reader = csv.reader(f)
    for row in reader:
        urls = row[0]
        print(urls)
        r = requests.get(urls)
        print (r.text)
with open('C:/Desktop/ivan.csv', 'w') as csvfile:
    writerobj=csv.writer(r.text)
    for line in reader:
        writerobj.writerow(line)

代码中的一个问题是,每次使用openw模式打开文件时,该文件中的任何现有内容都将丢失。您可以通过使用append模式open(filename, 'a')来避免这种情况。你知道吗

但更好的是。只需在for循环外打开一次输出文件。你知道吗

import csv, requests
with open('iva.csv') as infile, open('ivan.csv', 'w') as outfile:
    reader = csv.reader(infile)
    for row in reader:
        r = requests.get(urls[0])
        outfile.write(r.text)

相关问题 更多 >