如何将数据保存到csv文件而不在python3x中重复。?

2024-09-25 00:20:46 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码:

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')

在生成的csv文件中,我有两列(name,city)。第一个值的重复次数与其他记录的重复次数相同。你知道吗

    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

Tags: csvnamecitycolresultfindulattrs
1条回答
网友
1楼 · 发布于 2024-09-25 00:20:46

我认为您需要在df之外创建loop并添加^{}

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')

相关问题 更多 >