猿问

使用反向搜索将数据写入 csv 文件时无法删除列

我在 python 中创建了一个脚本来从 csv 文件中读取不同的 id 号,以便将它们与链接一起使用来填充结果并将结果写入不同的 csv 文件中。


这是基本链路https://abr.business.gov.au/ABN/View?abn=,并且这些是数字(存储在CSV文件)78007306283,70007746536,95051096649附加到该链接以使它们可用的链接。这些数字ids位于 csv 文件的标题下。一个这样的合格链接是https://abr.business.gov.au/ABN/View?abn=78007306283。


我的脚本可以从 csv 文件中读取数字,将它们一个一个地附加到该链接中,在网站中填充结果,并在提取后将它们写入另一个 csv 文件中。


我面临的唯一问题是我新创建的 csv 文件也包含ids标题,而我想在新的 csv 文件中排除该列。


将结果写入新的 csv 文件时,如何摆脱旧 csv 文件中可用的列?


到目前为止我已经尝试过:


import csv

import requests

from bs4 import BeautifulSoup


URL = "https://abr.business.gov.au/ABN/View?abn={}"


with open("itemids.csv", "r") as f, open('information.csv', 'w', newline='') as g:

    reader = csv.DictReader(f)

    newfieldnames = reader.fieldnames + ['Name', 'Status']

    writer = csv.DictWriter(g, fieldnames=newfieldnames)

    writer.writeheader()

    for entry in reader:

        res = requests.get(URL.format(entry['ids']))

        soup = BeautifulSoup(res.text,"lxml")

        item = soup.select_one("span[itemprop='legalName']").text

        stat = soup.find("th",string="ABN status:").find_next_sibling().get_text(strip=True)


        print(item,stat)


        new_row = entry

        new_row['Name'] = item

        new_row['Status'] = stat

        writer.writerow(new_row)


青春有我
浏览 175回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答