📜  如何创建一个带有指向 Pandas 本地文件的可点击超链接的表格?

📅  最后修改于: 2022-05-13 01:55:29.498000             🧑  作者: Mango

如何创建一个带有指向 Pandas 本地文件的可点击超链接的表格?

如果您熟悉数据科学或机器学习领域,那么我们可以肯定地说我们将从这篇文章中学到新的东西,那么让我们开始吧。在本文中,我们将学习如何使用 pandas 创建本地文件路径的可点击超链接。这不是一项非常复杂的任务,我们只需 4 到 5 个步骤即可轻松完成。让我们更深入地研究它并讨论所需的库。

  • Pandas:它是Python最受欢迎和最受欢迎的库之一,用于数据整理和分析。 Pandas 是所有数据科学和机器学习项目的支柱。它是数据科学家和分析师最重要的工具之一。 Pandas 的一些功能包括:数据处理、对齐和索引、处理丢失的数据、清理数据、数据集的合并和连接等等。在这里,我们也将使用 Pandas 创建数据集。
  • OS 库: Python的 OS 模块在各种项目中也扮演着非常重要的角色。它提供了许多与操作系统交互的功能。它还包括许多与文件系统交互的功能。这里我们必须处理本地文件,这就是为什么我们需要一个 os 模块来处理它们。

需要的步骤

第 1 步:导入所需的库。

Python3
# Importing required libraries
import pandas as pd
import os as o


Python3
# 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')]


Python3
# Converting list into pandas dataframe 
df = pd.DataFrame(dataset)
  
# printing the dataframe
df


Python3
# 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 '{}'.format(path, f_url)


Python3
# applying function "fun" on column "location".
df = df.style.format({'location' : fun})


Python3
# 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 '{}'.format(path, f_url)
  
  
# applying function "fun" on column "location".
df = df.style.format({'location': fun})
  
# Step 5 : Finally printing Dataframe
df


Python3
# 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 '{}'.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


第 2 步:使用字典和列表创建数据集。



蟒蛇3

# 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 并打印出来。

蟒蛇3

# Converting list into pandas dataframe 
df = pd.DataFrame(dataset)
  
# printing the dataframe
df

输出 :

直到第 2 步,我们的数据框都是列表形式,因此在第 3 步中,我们将其转换为 Pandas 数据框,以便我们可以轻松地对其应用数十种操作以进行更好的分析。目前,图片的路径不是可点击的形式,我们必须对其进行一些棘手的操作才能将其转换为可点击的超链接形式。

第 4 步:创建一个函数将路径转换为 Clickable 形式。



蟒蛇3

# 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 '{}'.format(path, f_url)

在上面的代码片段中,我们创建了一个函数,它将文件路径(文件位置)转换为可点击的超链接形式。

第五步:在“位置”列上应用该函数,将路径转换为可点击的超链接形式。现在,每当我们打印数据帧时,我们都会得到需要的输出。          

蟒蛇3

# applying function "fun" on column "location".
df = df.style.format({'location' : fun})

输出:

最后,我们已经成功地将我们的本地文件路径转换为可点击的超链接形式。让我们看看一些例子。

示例 1:创建一个Dataframe,其中包含我们本地系统中存在的图像的可点击超链接路径。

蟒蛇3

# 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 '{}'.format(path, f_url)
  
  
# applying function "fun" on column "location".
df = df.style.format({'location': fun})
  
# Step 5 : Finally printing Dataframe
df

输出 :



示例 2:创建一个包含本地系统中文件可点击超链接路径的数据

蟒蛇3

# 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 '{}'.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 类似。