2017-11-25 8 views
-1

これは私のコードです:生成されたCSVファイルのpython 3xで重複せずにcsvファイルにデータを保存するには?

soup = BeautifulSoup(browser.page_source, 'html.parser') 
results = soup.find_all('div', attrs={'class': 'col-xs-6 col-sm-6 col-md-3 search-item '}) 
records = [] 
for result in results: 
     name = result.find('p', attrs={'class':'small mb20 colorgreen'}) 
     city = result.find('span', attrs={'class':'map-item-city block mb0 colorgreen'}).text 
     records.append((name, city)) 
     print (name, city) 
     df = pd.DataFrame(records, columns = ['name', 'city']) 
     df.to_csv('gettin.csv', index=False, mode = 'a', encoding='utf-8') 

私は2つの列(名前、都市)を持っています。最初の値は、他のレコードと同じくらい重複しています。

Name   City 
Oddział w Warszawie ul. Wodzireja 55, 59-220 Warszawa 
0 1 
Oddział w Warszawie ul. Wodzireja 55, 59-220 Warszawa 
Oddział w Warszawie ul. Cholewinka 4, 59-220 Warszawa 
0 1 
Oddział w Warszawie ul. Wodzireja 55, 59-220 Warszawa 
Oddział w Warszawie ul. Cholewinka 4, 59-220 Warszawa 
Oddział w Warszawie ul. Waclawa 5, 59-220 Warszawa 
0 1 
Oddział w Warszawie ul. Wodzireja 55, 59-220 Warszawa 
Oddział w Warszawie ul. Cholewinka 4, 59-220 Warszawa 
Oddział w Warszawie ul. Waclawa 5, 59-220 Warszawa 
Oddział w Warszawie ul. Balwanka 5, 59-220 Warszawa 

このような重複のない結果を得るにはどうすればよいですか?

Name    City 
Oddział w Warszawie ul. Wodzireja 55, 59-220 Warszawa 
Oddział w Warszawie ul. Cholewinka 4, 59-220 Warszawa 
Oddział w Warszawie ul. Waclawa 5, 59-220 Warszawa 
Oddział w Warszawie ul. Balwanka 5, 59-220 Warszawa 
+2

このしくみを教えてください。 'df'には2つのカラムがありますが、あなたの"出力 "には4つの値がありますか?あなたはこれを[mcve]に変えてどうですか? –

答えて

1

私はあなたがloopdfを作成し、drop_duplicatesを追加必要があると考えている:

records = [] 
for result in results: 
     name = result.find('p', attrs={'class':'small mb20 colorgreen'}) 
     city = result.find('span', attrs={'class':'map-item-city block mb0 colorgreen'}).text 
     records.append((name, city)) 
     print (name, city) 

df = pd.DataFrame(records, columns = ['name', 'city']).drop_duplicates() 
df.to_csv('gettin.csv', index=False, encoding='utf-8') 
+0

ご協力いただきありがとうございます。できます。 – BigD

関連する問題