2016-03-01 3 views
0

Ive работает на небольшую программу, что мне нужно сделать следующее:Csv программа синтаксического анализа и, как сглаживаются несколько списков в один список

Возьмите CSV-файл «domains_prices.csv» с колонкой доменов, а затем цена для каждого, например:

http://www.example1.com,$20 
http://www.example2.net,$30 

и так далее

, а затем второй файл «orders_list.csv», который является только один столбец из сообщения в блоге 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 против доменов в 1-й файл и проверить, что цена в блоге на этом домене, а затем вывести все сообщения блога URLs в новый файл с ценой для каждого, например:

http://www.example2.net/blog-post-1, $20 

и тогда будет общая сумма в конце выходного файла.

Мой план состоял в том, чтобы создать dict для domains_prices с k, v как домен &, а затем указать все URL-адреса из списка заказов в списке, а затем сравнить элементы этого списка с ценами в dict.

Это мой код, я застрял в конце, у меня есть parsed_orders_list, и он, кажется, возвращает все URL-адреса в виде отдельных списков, поэтому я думаю, что я должен поместить все эти URL-адреса в один список?

Также окончательный код с комментариями в конце - это операция, которую я намереваюсь сделать, когда у меня есть правильный список URL-адресов, чтобы сравнить их с k, v из dict, Im не уверен, что это тоже исправлено.

Пожалуйста, обратите внимание, что это также моя первая каждый полный питон программа Ive создана с нуля, так что если его ужасающим то вот почему :)

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] 
""" 

ответ

0

с помощью кого-то еще Ive понял это, были сделаны следующие изменения к разделу «for i in orders_list»

parsed_orders = [] 

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 then put each netloc url into a list 
parsed_orders.append(data.netloc) 


#print parsed_orders - to check that Im getting a list of netloc urls back 

#Iterate over the list of urls and dict of domains and prices to match them up 
for k in parsed_orders: 
    if k in domains_prices: 
     print k, domains_prices[k] 

 Смежные вопросы

  • Нет связанных вопросов^_^