如何在Pandas中创建一个带有可点击的超链接到本地文件的表格
如果你熟悉数据科学或机器学习领域,那么我们可以肯定地说,我们将从这篇文章中学习到新的东西,所以让我们开始吧。在这篇文章中,我们将学习如何使用pandas创建本地文件路径的可点击超链接。这不是一个非常复杂的任务,我们只需4到5个步骤就可以轻松完成。让我们更深入地了解它并谈谈所需的库。
- Pandas:它是Python中最受欢迎的、用于数据处理和分析的库之一。Pandas是所有数据科学和机器学习项目的骨干。它是数据科学家和分析师的最重要的工具之一。Pandas的一些特点是。数据处理、对齐和索引、处理缺失数据、清洗数据、合并和连接数据集等等。在这里,我们也将使用pandas来创建一个数据集。
- 操作系统库: python中的操作系统模块在各种项目中也起着非常重要的作用。它提供了很多与操作系统交互的功能。它还包括许多与文件系统交互的功能。在这里,我们必须处理本地文件,这就是为什么我们需要一个OS模块来处理它们。
分步实现
第1步:导入所需的库
# Importing required libraries
import pandas as pd
import os as o
步骤2:使用字典和列表创建一个数据集。
# Creating dataset of location of files.
dataset = [dict(Images = 'img1', location = r'New/gfg.png'),
dict(Images = 'img2', location = r'New/1.png'),
dict(Images = 'img3', location = r'New/gfg2.png'),
dict(Images = 'img4', location = r'New/oled.png'),
dict(Images = 'img5', location = r'New/oled2.png')]
在上面的代码片段中,我们正在创建一个本地系统中存在的本地文件路径的小数据集。首先,我们创建一个字典,其中图像名称作为唯一的键,图像的路径作为这里的唯一键的值。最后,把字典转换成一个列表,这样我们就可以很容易地把这个列表转换成pandas数据帧。
第3步:将列表转换成Dataframe并打印。
# Converting list into pandas dataframe
df = pd.DataFrame(dataset)
# printing the dataframe
df
输出 :
在步骤2之前,我们的数据框架是列表形式的,所以在步骤3中,我们要把它转换成pandas数据框架,这样我们就可以很容易地对它进行几十种操作,以便更好地分析。目前,图片的路径不是可点击的形式,我们必须对其进行一些棘手的操作,将其转换为可点击的超链接形式。
第4步:创建一个函数,将路径转换成可点击的形式。
# Function to convert file path into clickable form.
def fun(path):
# returns the final component of a url
f_url = o.path.basename(path)
# convert the url into link
return '<a href="{}">{}</a>'.format(path, f_url)
在上述代码片段中,我们创建了一个函数,将文件路径(文件的位置)转换成可点击的超链接形式。
第5步:在 “位置 “列上应用函数,将路径转换成可点击的超链接形式。现在,每当我们打印数据框架时,我们将得到我们所需要的输出
# applying function "fun" on column "location".
df = df.style.format({'location' : fun})
输出:
最后,我们已经成功地将我们的本地文件路径转换成可点击的超链接形式。让我们来看看一些例子。
示例1:创建一个 数据框架,其中包含我们本地系统中存在的图像的可点击超链接路径。
# Step 1 : Importing required modules
import pandas as pd
import os
# Step 2 : Creating dataset of local path images
dataset = [dict(Images='img1', location=r'New/gfg.png'),
dict(Images='img2', location=r'New/1.png'),
dict(Images='img3', location=r'New/gfg2.png'),
dict(Images='img4', location=r'New/oled.png'),
dict(Images='img5', location=r'New/oled2.png')]
# Step 3 : Converting list into dataframe
df = pd.DataFrame(dataset)
# Function to convert file path into clickable form.
def fun(path):
# returns the final component of a path
f_url = os.path.basename(path)
# convert the path into clickable link
return '<a href="{}">{}</a>'.format(path, f_url)
# applying function "fun" on column "location".
df = df.style.format({'location': fun})
# Step 5 : Finally printing Dataframe
df
输出 :
实例2:创建一个数据框架,其中包含一个的可点击的本地系统中的文件超链接路径。
# Step 1 : Importing required modules
import pandas as pd
import os
# Step 2 : Creating dataset of files
dataset = [dict(
file_names='Crop File', location=r'ML/Crop File prep.ipynb'),
dict(
file_names='Final Dataset', location=r'ML/FinalData csv creation.ipynb'),
dict(
file_names='EDA', location=r'ML/EDA on FinalData csv.ipynb'),
dict(
file_names='Model Training', location=r'ML/Model Training.ipynb'),
dict(
file_names='Yield Prediction', location=r'ML/yield prediction.ipynb')]
# Step 3 : Converting list into dataframe
df = pd.DataFrame(data)
# Function to convert file path into
# clickable hyperlink form.
def fun(path):
# returns the final component of a path
f_url = os.path.basename(path)
# convert the path into clickable hyperlink
return '<a href="{}">{}</a>'.format(path, f_url)
# Step 4 : applying make_clikable function
# on column path.
df = df.style.format({'location': fun})
# Step 5 : Finally printing Dataframe
df
输出:
注意:每当我们试图从浏览器加载本地文件时,我们都会在浏览器中不断得到一个错误 “不允许加载本地资源”。如果我们谷歌一下这个问题,就会知道它是由于我们系统的一些安全问题而发生的。但有一种方法可以在不影响系统安全的情况下解决这个问题,那就是把所需的文件放在我们工作的同一工作目录下。在上面的例子中,我们创建了一个文件夹,并把所有需要的文件放在里面,最后很容易就加载了这些文件,没有任何问题。在例1中,我们在工作目录中创建了一个名为 “New “的文件夹,并将所有需要的文件放在其中,在例2中也是如此。