私は、次のことを行う必要がある小さなプログラムに取り組んできました。
ドメインの列とそれぞれの価格を含む csv ファイル「domains_prices.csv」を取得します。
http://www.example1.com,$20
http://www.example2.net,$30
等々
次に、2 番目のファイル「orders_list.csv」は、1 番目のファイルにリストされている同じドメインからのブログ投稿 URL の 1 つの列です。例:
http://www.exmaple2.net/blog-post-1
http://www.example1.com/some-article
http://www.exmaple3.net/blog-post-feb-19
等々
最初のファイルのドメインに対して orders_list の完全な URL を確認し、そのドメインのブログ投稿の価格を確認してから、すべてのブログ投稿の URL をそれぞれの価格とともに新しいファイルに出力する必要があります。
http://www.example2.net/blog-post-1, $20
出力ファイルの最後に合計金額が表示されます。
私の計画は、ドメインと価格としてk、vを使用してdomains_pricesのdictを作成し、orders_listのすべてのURLをリストに入れ、そのリストの要素をdictの価格と比較することでした。
これは私のコードです。私は終わりに向かって立ち往生しています。私はparsed_orders_listを持っていて、すべてのURLを個別のリストとして返しているように見えるので、それらすべてのURLを単一のリストに入れるべきだと思いますか?
また、最後のコメントアウトされたコードは、辞書のk、vと比較するためのURLの正しいリストを取得したら、実行する予定の操作ですが、それも正しいかどうかはわかりません。
これは、私がゼロから作成した最初のすべての完全な Python プログラムでもあることに注意してください。
import csv
from urlparse import urlparse
#get the csv file with all domains and prices in
reader = csv.reader(open("domains_prices.csv", 'r'))
#get all the completed blog post urls
reader2 = csv.reader(open('orders_list.csv', 'r'))
domains_prices={}
orders_list = []
for row in reader2:
#put the blog post urls into a list
orders_list.append(','.join(row))
for domain, price in reader:
#strip the domains
domain = domain.replace('http://', '').replace('/','')
#insert the domains and prices into the dictionary
domains_prices[domain] = price
for i in orders_list:
#iterate over the blog post urls orders_list and
#then parse them with urlparse
data = urlparse(i)
#use netloc to get just the domain from each blog post url
parsed_orders = data.netloc
parsed_orders_list = parsed_orders.split()
print parsed_orders_list
"""
for k in parsed_orders:
if k in domains_prices:
print k, domains_prices[k]
"""