当我使用modu创建数据帧时,Python for循环实现

2024-09-25 08:35:52 发布

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

我对学习python很感兴趣,但我学了两周python程序。我编写了这个程序两天,但我找不到我应该怎么做。这是我做的如下代码

==========================================================================================

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个벌레퇴치기

二해충퇴치기

三전기모기퇴치기

你知道吗================================================================================ 预期结果页面如下所示

打印(df)—>;回车键

你知道吗키워드 产品

0个모기퇴치기 132877年

1个벌레퇴치기 127250个

二해충퇴치기 136109个

三전기모기퇴치기 125307个

你知道吗=============================================================================== 但是print(df)的实际结果页面如下

C:\Users\Administrator\PycharmProjects\untitled\venv\Scripts\python.exe

C:/Users/Administrator/PycharmProjects/untitled/test1.py

   키워드 ProductN

0个모기퇴치기 132877年

1个벌레퇴치기 132877年

二해충퇴치기 132877年

三전기모기퇴치기 132877年

   키워드 ProductN

0个모기퇴치기 127250个

1个벌레퇴치기 127250个

二해충퇴치기 127250个

三전기모기퇴치기 127250个

   키워드 ProductN

0个모기퇴치기 136109个

1个벌레퇴치기 136109个

二해충퇴치기 136109个

三전기모기퇴치기 136109个

   키워드 ProductN

0个모기퇴치기 125307个

1个벌레퇴치기 125307个

二해충퇴치기 125307个

三전기모기퇴치기 125307个

进程已完成,退出代码为0

你知道吗================================================================================ 我不知道怎样才能修正这个结果。我只是假设从for loof开始,有一些错误的实现。 请让我知道如何修复此结果


Tags: csv代码import程序dfallrequestsusers
1条回答
网友
1楼 · 发布于 2024-09-25 08:35:52

通过df['ProductN'] = all2,可以将all2赋给整个列,但只希望将其赋给一个单元格。所以把这行改成:

df.loc[df['키워드'] == i, 'ProductN'] = all2

相关问题 更多 >