簡體   English   中英

output.csv 文件只寫最后一個查詢。 如何讓它打印所有 url 支票?

[英]output .csv file only writing last query. How do I get it to print all url checks?

input.csv 有一列中的 url 列表要檢查。 它完美地運行這些檢查,然后腳本應該寫出哪些站點啟動,哪些站點關閉。 但是,代碼的最后一部分似乎只寫了最后一個站點檢查。 如何讓它將所有檢查寫入 output.csv?

import re
import requests
from itertools import product, cycle
import csv
from urllib.request import urlopen


with open("input.csv") as f:
    for row in csv.reader(f):
        s = 'Quantity' or 'Stock'
        r = requests.get(row[0])
        result = re.search(s, r.text)
        if result == None:
            print("OUT OF STOCK")
            inis = "OUT OF STOCK"
        else:
            print("In Stock")
            inis = "In Stock"

        new_column = [(row[0]) + " " + inis]
        print(row[0])


with open("output.csv", "w") as f:
    for col in new_column:
        f.write(col + "\n")

該腳本應該寫出哪些站點已啟動,哪些站點已關閉

我不確定“庫存”術語的來源,但假設邏輯代碼是正確的,為什么不嘗試這樣的事情......

首先創建一個空列表,然后在循環 append 的每次迭代中添加一行:

with open("input.csv") as f:
    new_column = []
    for row in csv.reader(f):
        s = 'Quantity' or 'Stock'
        r = requests.get(row[0])
        result = re.search(s, r.text)
        if result == None:
            inis = "OUT OF STOCK"
        else:
            inis = "In Stock"

        new_column.append(f"{row[0]},{inis}")

        print(row[0], inis)

new_column現在是 CSV 兼容行的列表,可以使用現有代碼將其寫入output.csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM