python - 如何遍历基因/ URL 列表并生成基因信息行?
问题描述
我是 Python 新手,不熟悉循环结构。如果我想遍历我感兴趣的基因的 url 列表并将特定列(例如基因名称、完整基因名称及其来自该网站的生物型)提取为一行
gene1 full_name1 biotype1
并为下一个基因添加新行,如下所示
gene1 full_name1 biotype1
gene2 full_name2 biotype2
gene3 full_name3 biotype3
...
我不知道该怎么做。也许我应该使用多个循环?
这是我的代码:
gene_list = [gene1, gene2, gene3, ...]
i = 0
while (i in len(gene_list):
url = 'https://www.xxxxxxxx?gene=' + str(gene_list[i])
driver.get(url)
gene = driver.find_element_by_css_selector('em:nth-of-type(1)').text
full = driver.find_element_by_css_selector('h2:nth-of-type(1)').text
biotype = driver.find_element_by_css_selector('span.gc-category').text
i = i + 1
谁能帮我这个?谢谢你。
解决方案
您将需要使用 for 循环。
首先使用列表推导创建 url 列表。
gene_list = [gene1, gene2, gene3, ...]
url_list = ['https://www.xxxxxxxx?gene={}'.format(i) for i in gene_list]
接下来,初始化每个列的空列表。
genes = []
full_names = []
biotypes = []
最后,对于 url 列表中的每个 url,您将提取信息并将它们附加到各自的列表中。
for url in url_list:
driver.get(url)
genes.append(driver.find_element_by_css_selector('em:nth-of-type(1)').text)
full_names.append(driver.find_element_by_css_selector('h2:nth-of-type(1)').text)
biotypes.append(driver.find_element_by_css_selector('span.gc-category').text)
如果您想从那里获得幻想,可以将其放入 pandas DataFrame 中:
import pandas as pd
df = pd.DataFrame([gene_list, genes, full_names, biotypes])
一旦它在 pandas DataFrame 中,您将能够更轻松、更漂亮地使用和可视化数据。
推荐阅读
- ios - iOS 为什么我无法通过解析 Swift 登录 Facebook 应用程序
- angular - 未定义 Angular 5 变量
- hadoop - 使用 ORC 文件格式有什么缺点?
- windows - 从命令提示符启动查询
- c++ - 如何枚举 thread_local 变量的实例
- html - CSS 停止 div 高度从延伸过去的视口 + 滚动时使 topnav 棒
- android - 如何在我的应用程序中运行 Unity 生成的 apk 而不将其作为模块包含在项目中?
- unity3d - 如何通过纹理中的非透明像素过滤光线?
- sql - 使用选择多个表 postgres 更新行
- java - 如何查询 JMS 队列的元素而不删除它们