繁体   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