如何在Python中逐行地为数据帧中的切片创建索引
我是Python新手,我在一家web自动化公司工作,负责清理一些数据并帮助我进行分析 因此,我将这些数据放在一个数据框中,例如:如何在Python中逐行地为数据帧中的切片创建索引,python,dataframe,loops,for-loop,row,Python,Dataframe,Loops,For Loop,Row,我是Python新手,我在一家web自动化公司工作,负责清理一些数据并帮助我进行分析 因此,我将这些数据放在一个数据框中,例如: Name site data1 site data2 SiteID name1 23 ins 43 vid 082820399 name2 67 ins 3 vid 996820344 name3 55 ins 67 vid 201988493 使用
Name site data1 site data2 SiteID
name1 23 ins 43 vid 082820399
name2 67 ins 3 vid 996820344
name3 55 ins 67 vid 201988493
使用seleniumscrape获取数据,但我需要的是创建一个函数,为我的函数选择SiteID列中的每一行,在那里运行scrape
我尝试在开始时创建for切片,我尝试使用“.iterrows”和“.iteritems”,我尝试在for切片中使用“apply”,但没有任何效果
出现的是页面打开,但没有任何URL
我的代码如下:
df = pd.read_csv('channel_data.csv')
df1 = df['SiteID']
class Channel_DSO:
for links, row in df1.iterrows():
def canais_dados():
driver = webdriver.Chrome(
'C:/chromedriver_win32_3/chromedriver.exe')
for link in links:
driver.get('{}/site?param=0&flow'.format(links))
content = driver.page_source.encode ('utf-8').strip()
soup = BeautifulSoup (content, 'lxml')
site_detail = []
detail = soup.find_all('a', id='site-detail')
for detail in details:
site_detail.append(details.text)
link_detail = []
l_details = soup.find_all('span', class_='link-detail-text')
for l_detail in l_details:
link_detail.append(l_details.text)
sites_data = []
for detail, l_detail in zip(site_detail, link_detail):
sites_data.append(
{'Site': detail, 'L detail': l_detail})
driver.quit()
我不知道该怎么办,我在网上搜索任何回复
我很抱歉,如果这个问题是如此愚蠢,如果我说错了什么
希望有人能帮我…谢谢
编辑:我写的是废纸而不是刮纸(谢谢巴尼);另外,我在代码中看到了另一个错误:“df1=df['SiteID']”我选择了另一列,但这并不影响结果。很抱歉,我不想打扰您。我发现了一个解决方案……只是在类中创建了另一个“def”函数 我的解决方案运行良好,可以迭代数据帧中的每一行 工作原理:
df = pd.read_csv('channel_data.csv')
df1 = df['SiteID']
class __init__:
def canais_dados():
driver = webdriver.Chrome(
'C:/chromedriver_win32_3/chromedriver.exe')
for link in links:
driver.get('{}/site?param=0&flow'.format(links))
content = driver.page_source.encode ('utf-8').strip()
soup = BeautifulSoup (content, 'lxml')
site_detail = []
detail = soup.find_all('a', id='site-detail')
for detail in details:
site_detail.append(details.text)
link_detail = []
l_details = soup.find_all('span', class_='link-detail-text')
for l_detail in l_details:
link_detail.append(l_details.text)
sites_data = []
for detail, l_detail in zip(site_detail, link_detail):
sites_data.append(
{'Site': detail, 'L detail': l_detail})
driver.quit()
def links_loop:
for links in links:
loop = next(links.iteritem[i+1])
if loop == False:
links_loop.exit()
elif loop == True:
exec(canais_dados)
它工作得很好。
谢谢大家,很抱歉打搅一下,或者关于任何错误。仅供参考,这是刮(刮,刮,刮)而不是刮。”“报废”的意思是像垃圾一样扔掉。以粗体突出显示的编辑谢谢@barny。对于这个错误,我很抱歉。