Я заинтересован в изучении Python, но я изучал программу Python за 2 недели. Я кодировал эту программу 2 дня, но не могу найти, как мне поступить. Это код, который я сделал следующим образом.
================================================== =========================
import requests
from bs4 import BeautifulSoup
import pandas as pd
df = pd.read_csv("C:/Users/Administrator/PycharmProjects/naver_datalab.csv",sep = ",", encoding ='CP949')
df1 = df['키워드']
for i in df1:
r=requests.get("https://search.shopping.naver.com/search/all.nhn?query = " + str(i) + "&cat_id=&frm=NVSHATC")
c=r.content
soup=BeautifulSoup(c,"html.parser")
all=soup.find("li",{"class":"snb_all on"}).text
all2=all.replace("전체","").replace("\s", "").replace(" ", "").replace("\n", "")
df['ProductN'] = all2
print(df)
============================================
Сначала я прочитал файл csv с пандами и фреймом данных следующим образом.
df = pd.read_csv("C:/Users/Administrator/PycharmProjects/naver_datalab.csv",sep = ",", encoding ='CP949')
키워드
0 모기 퇴치 기
1 벌레 퇴치 기
2 해충 퇴치 기
3 전기 모기 퇴치 기
================================================== ============================== Страница ожидаемых результатов выглядит следующим образом.
print (df) -> введите ключ
키워드 ПродуктN
0 퇴치 132 877
1 벌레 퇴치 127 250
2 퇴치 136 109
3 모기 퇴치 125 307
================================================== =============================
Однако фактическая страница результатов print(df) выглядит следующим образом.
C: \ Users \ Administrator \ PycharmProjects \ untitled \ venv \ Scripts \ python.exe
C: /Users/Administrator/PycharmProjects/untitled/test1.py
키워드 ProductN
0 퇴치 132 877
1 벌레 퇴치 기 132 877
2 퇴치 132 877
3 전기 모기 퇴치 132 877
키워드 ProductN
0 모기 퇴치 127 250
1 벌레 퇴치 127 250
2 해충 퇴치 127 250
3 전기 모기 퇴치 127 250
키워드 ProductN
0 퇴치 136 109
1 벌레 퇴치 136 109
2 퇴치 136 109
3 전기 모기 퇴치 136 109
키워드 ProductN
0 모기 퇴치 125 307
1 벌레 퇴치 125 307
2 해충 퇴치 125 307
3 모기 퇴치 125 307
Процесс завершен с кодом выхода 0
================================================== ============================== Не знаю, как исправить этот результат. Я просто предполагаю, что из for loof есть некоторая неправильная реализация. Пожалуйста, дайте мне знать, как я могу исправить этот результат.






В df['ProductN'] = all2 вы назначаете all2 всему столбцу, но хотите назначить его только одной ячейке. Так что измените эту строку на:
df.loc[df['키워드'] == i, 'ProductN'] = all2
Я провожу более 2 дней, но не знаю, как это сделать, но с вашим комментарием я могу решить эту проблему. Большое спасибо ~!
Пожалуйста! Если этот ответ был полезен, примите его: stackoverflow.com/help/someone-answers. Спасибо.
Я хотел бы принять ваш комментарий, но я приехал сюда 3 дня назад, поэтому не знаю, как это сделать. Я устанавливаю флажок, но не знаю, что он работает.
Пожалуйста, предоставьте MCVE. Также, вероятно, большой части аудитории этого веб-сайта сложно визуально сравнивать строки с нелатинскими символами, поэтому вы можете избегать их использования (или использовать их как можно реже).