[英]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.