pandas使用HYPERLINK追加写入超链接-url、文件、图片

简介: pandas使用HYPERLINK追加写入超链接-url、文件、图片使用HYPERLINK即可达到目的,可以写url、文件、图片、各种你自己能访问的路径注意:HYPERLINK里面的字符长度不能超过255,否则无法写入超链接

pandas使用HYPERLINK追加写入超链接-url、文件、图片

使用HYPERLINK即可达到目的,可以写url、文件、图片、各种你自己能访问的路径

注意:HYPERLINK里面的字符长度不能超过255,否则无法写入超链接

调试目录结构

manFile(文件夹)

  • images(文件夹)
  • res1.png
  • test.txt
  • result(文件夹)
  • 生成excel文件.xlsx
  • test2.txt
  • main.py
  • draft.txt

主要代码段

#四个示例
textpath1 = r'../draft.txt' #写相对于表格的路径
textpath2 = r'..\images\test.txt'
textpath3 = r'test2.txt'
textpath4 = r'../images/res1.png'
# print("--------------开始写入到表格中--------------------")
# 不加index会报错ValueError: If using all scalar values, you must pass an index
df = pandas.DataFrame(self.summary_title, index=[0])  # 字典数据,
df._set_value(0, 'UserCount', '=HYPERLINK("{}", "点击查看详情")'.format(textpath1))
df._set_value(0, 'IssueLink', '=HYPERLINK("{}", "点击查看详情")'.format(textpath2))
df._set_value(0, 'IssueCount', '=HYPERLINK("{}", "点击查看详情")'.format(textpath3))
df._set_value(0, 'Versions', '=HYPERLINK("{}", "点击查看详情")'.format(textpath4))

注意事项:

  1. 关于路径:路径是以表格的路径为原点,进行写相对路径的,不是根据py文件所在的路径写相对路径
  2. 关于调试:手动在excel中手写这个函数无法生效,必须要通过这套代码写才会生效
  3. 关于file路径:不通过HYPERLINK,通过file也可以写文件,但只能写入绝对路径,格式file:///D:\D_Working\文档.txt
  • 手动写入也会生效,注意file后面有英文冒号顺斜杆,路径是反斜杆,这个写错是不生效的

可直接运行代码

# -*- coding: utf-8 -*-
# @Time : 2022/2/24 10:24
# @Author : Vincent.xiaozai
# @Email : Lvan826199@163.com
# @File : demo11_pandas写入文件图片超链接.py
from datetime import datetime
import pandas
import xlsxwriter as xlsxwriter
from openpyxl import load_workbook
class A():
    def __init__(self):
        pass
    def create_excel(self, game_name):
        # # print("-------------------------创建{}表格------------------------".format(project_name_list[project_index]))
        # # 以当前时间命名
        now_time = datetime.now().strftime('%Y-%m-%d-%H-%M-%S')
        self.excel_name = r"result/{}_{}.xlsx".format('mengwuji', now_time)
        workbook = xlsxwriter.Workbook(self.excel_name)
        # 新增sheet页
        sheet = workbook.add_worksheet(name=game_name)
        sheet.set_column(0, 0, 30)  # 设置第一列的宽度
        sheet.set_column(1, 1, 32)  # 设置第二列的宽度
        sheet.set_column(2, 2, 9)  # 设置第三列的宽度
        sheet.set_column(3, 3, 15)  # 设置第四列的宽度
        workbook.close()  # 保存
        book = load_workbook(self.excel_name)
        # 在AllCloseTime这个sheet中进行数据汇总
        self.summary_title = {
                              "Versions": ["Versions"],
                              "IssueCount": ["IssueCount"],
                              "UserCount": ["UserCount"],
                              "IssueLink": ["IssueLink"]
                              }
        df = pandas.DataFrame(self.summary_title)  # 字典数据,按顺序,第一个为第一列,每个key后面的value长度必须一样,可以为空
        df1 = pandas.DataFrame(pandas.read_excel(self.excel_name, sheet_name="xiaozai"))  # 读取原数据文件和表
        writer = pandas.ExcelWriter(self.excel_name, engine='openpyxl')
        writer.book = book  # 写入指定给的表格
        writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
        df.to_excel(writer, sheet_name="xiaozai", startrow=0, index=False,
                    header=False)  # 将标题写入excel中Summary表
        writer.save()  # 保存
        print("-------------------------创建{}项目表格成功------------------------".format(self.excel_name))
        book = load_workbook(self.excel_name)
        self.summary_title['Versions'] = 'hell0'
        self.summary_title['IssueCount'] = 'hell0'
        self.summary_title['UserCount'] = '点击跳转'
        self.summary_title['IssueLink'] = '点击跳转'
        textpath1 = r'../draft.txt' #相对于表格的路径
        textpath2 = r'..\images\test.txt'
        textpath3 = r'test2.txt'
        textpath4 = r'../images/res1.png'
        # print("--------------开始写入到表格中--------------------")
        # 不加index会报错ValueError: If using all scalar values, you must pass an index
        df = pandas.DataFrame(self.summary_title, index=[0])  # 字典数据,
        df._set_value(0, 'UserCount', '=HYPERLINK("{}", "点击查看详情")'.format(textpath1))
        df._set_value(0, 'IssueLink', '=HYPERLINK("{}", "点击查看详情")'.format(textpath2))
        df._set_value(0, 'IssueCount', '=HYPERLINK("{}", "点击查看详情")'.format(textpath3))
        df._set_value(0, 'Versions', '=HYPERLINK("{}", "点击查看详情")'.format(textpath4))
        df1 = pandas.DataFrame(
            pandas.read_excel(self.excel_name, sheet_name="xiaozai"))  # 读取原数据文件和表
        writer = pandas.ExcelWriter(self.excel_name, engine='openpyxl')
        writer.book = book  # 写入指定给的表格
        writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
        df_rows = df1.shape[0]  # 获取原数据的行数
        df.to_excel(writer, sheet_name="xiaozai", startrow=df_rows + 1,
                    index=False,
                    header=False)  # 将数据写入excel中对应的项目sheet表,从第一个空行开始写
        writer.save()  # 保存
if __name__ == '__main__':
    run = A()
    run.create_excel('xiaozai')

表格展示

image.png


相关文章
|
20天前
|
存储 前端开发 Java
SpringBoot使用云端资源url下载文件的接口写法
在Spring Boot中实现从云端资源URL下载文件的功能可通过定义REST接口完成。示例代码展示了一个`FileDownloadController`,它包含使用`@GetMapping`注解的方法`downloadFile`,此方法接收URL参数,利用`RestTemplate`下载文件,并将文件字节数组封装为`ByteArrayResource`返回给客户端。此外,通过设置HTTP响应头,确保文件以附件形式下载。这种方法适用于从AWS S3或Google Cloud Storage等云服务下载文件。
119 7
|
19天前
|
机器学习/深度学习 JavaScript
node.js实现遍历所有文件夹里面的js文件,提取所有的url
node.js实现遍历所有文件夹里面的js文件,提取所有的url
|
12天前
|
Python
[pandas]从多个文件中构建dataframe
[pandas]从多个文件中构建dataframe
|
2月前
|
Java 机器人 API
JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API
JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API
31 9
|
1月前
|
算法
Ngnix02 --- Ngnix的功能特性及常见功能,Ngnix常用的功能模块,有不同算法,根据不同算法进行转发,ip_hash、url_hash、fair,核心组成 ngnix二进制可执行文件
Ngnix02 --- Ngnix的功能特性及常见功能,Ngnix常用的功能模块,有不同算法,根据不同算法进行转发,ip_hash、url_hash、fair,核心组成 ngnix二进制可执行文件
|
1月前
|
Web App开发 前端开发
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
51 0
|
1月前
|
JavaScript
js 下载文件(根据URL下载文件,根据URL下载图片)
js 下载文件(根据URL下载文件,根据URL下载图片)
100 0
|
2月前
|
文字识别 API 开发工具
视觉智能开放平台产品使用合集之人像分割抠图返回的图片URL是否可以直接转存到自己的储存桶
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
2月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之在调用接口传入的图片URL参数,文件在本地或者非上海地域OSS链接,该怎么办
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
3月前
|
缓存 Java Apache
Spring一行代码搞定图片url地址转换为Base64,超简单!!!!
这段内容讲述了如何将URL指向的图片转换为Base64字符串。首先通过`org.apache.commons.io.IOUtils`或Java标准库读取URL的字节流,然后用Java 8的`Base64`类编码。示例代码提供了两种实现方式:一种依赖Apache Commons IO,另一种仅使用Java内置类。在第二种方式中,自定义了`toByteArray()`方法处理输入流并转换为字节数组,最后关闭输入流释放资源。