簡體   English   中英

如何將csv文件解析為python腳本的參數

[英]How to parse a csv file as a parameter for a python script

我有一個python腳本,該腳本最初接受單個URL作為腳本的參數,但現在我希望更新代碼以接受CSV文件作為參數

最初,腳本是使用以下命令執行的:

python3 script.py -x -y www.example.com

問題是現在我不再只有一個URL,而是一個包含10'000 URL的CSV文件。

如何使用終端中的命令解析CSV文件中的URL?

保持程序原樣,但不要在命令行上接受單個URL,而是接受CSV文件的名稱,然后打開CSV文件並處理腳本中的每個URL

import sys
import csv
import requests


def get_next(csv_file):
    with open(csv_file, newline='') as csvfile:
        url_reader = csv.reader(csvfile, delimiter=' ', quotechar='|')
        for row in url_reader:
            for url in row[0].split(','):
                print(url)
                yield url


def process_url(url):
    page = requests.get(url)
    print(page)


if __name__ == '__main__':
    url_csv_file = sys.argv[3]

    for url in get_next(url_csv_file):
        process_url(url)

>> http://www.google.com
>> <Response [200]>
>> http://www.facebook.com
>> <Response [200]>
>> http://wikipedia.com
>> <Response [200]>

用於啟動腳本的命令:

python3 script.py -x -y mydata.csv

這是用作輸入的CSV文件的內容:

http://www.google.com,http://www.facebook.com
http://wikipedia.com

暫無
暫無

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

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