ChatGPT | Word文档如何更好地提取表格内容给ChatGPT

news2025/1/11 6:00:01

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

Word文档如何更好地提取表格内容给ChatGPT做知识库,这属于文本预处理工作。

本文只讲思路、测试结果,技术实现用Python和Java都能完成,下一篇文章再贴源码。

预处理的思路:

  1. 源文件建议采用DOCX文档而非PDF文档,因为PDF文档会多出冗余的"\n\n"
  2. 把DOCX文件转为Markdown格式,因为Markdown格式可以包含表格数据,而且Markdown格式本质是文本便于修改
  3. 把Markdown格式表格转为CSV表格,对于格式复杂表格,ChatGPT对CSV表格理解能力最强
  4. 用CSV表格替换掉Markdown格式的表格作为预处理后的新文件,因为两者都是文本格式

总结一下,DOCX转Markdown文件 -> Markdown表格转CSV表格->CSV表格替换掉Markdown表格->embedding->ChatGPT

原表格如下,signMsg部分格式复杂:

参数名称

参数含义

长度

可否为空

参数说明

mchntid

商户编号

15

不可空

统一分配给商户的商户编号,用以区分不同商户。

orderId

订单编号

16

不可空

商户提交给系统的交易订单编号。

每个商户提交的订单号,必须在自身账户交易中唯一。

reserved

商户保留域

60

可空

商户通过此字段向支付系统发送信息,其将依原样填充返回给商户。

signMsg

数字签名

32

不可空

以上所有参数及其值与密钥组合,经MD5 加密生成并转化为大写的32 位字符串。

对于所有值的参数及对应值,按照如上顺序和如下规则组成字符串,其中key为密钥:

参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key}

然后进行32位算法的MD5 加密后,将结果转化为大写。

signMsg=MD5(参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key})

childMchntid

子商户号

15

可空

支付系统统一分配给商户的子商户编号,不参与验签

对比Markdown表格与CSV表格的文本体积:

Markdown表格的文本体积超过4K,冗余浪费Token

商户向支付系统的支付接入地址(http)提交订单信息,提交页面中应该包括如下信息(注意各字段的大小写):

+-------------+-------------+-----+--------+-------------------------+
| *           | *           | *   | **可否 | **参数说明**            |
| *参数名称** | *参数含义** | *长 | 为空** |                         |
|             |             | 度  |        |                         |
|             |             | **  |        |                         |
+=============+=============+=====+========+=========================+
| mchntid     | 商户编号    | 15  | 不可空 | 统一分配给商户的商户编  |
|             |             |     |        | 号,用以区分不同商户。  |
+-------------+-------------+-----+--------+-------------------------+
| orderId     | 订单编号    | 16  | 不可空 | 商户提交                |
|             |             |     |        | 给系统的交易订单编号。  |
|             |             |     |        |                         |
|             |             |     |        | 每个                    |
|             |             |     |        | 商户提交的订单号,必须  |
|             |             |     |        | 在自身账户交易中唯一。  |
+-------------+-------------+-----+--------+-------------------------+
| bgUrl       | 后台        | 80  | 不可空 | 后台接收应答地          |
|             | 交易接收Url |     |        | 址,用于商户记录交易信  |
|             |             |     |        | 息和处理,对于使用者是  |
|             |             |     |        | 不可见的。需URLEncoder  |
|             |             |     |        | \"UTF-8\"处理           |
+-------------+-------------+-----+--------+-------------------------+
| productName | 商品名称    | 60  | 可空   | 需URLEncoder            |
|             |             |     |        | \"UTF-8\"处理           |
+-------------+-------------+-----+--------+-------------------------+
| productNum  | 商品数量    | 8   | 可空   |                         |
+-------------+-------------+-----+--------+-------------------------+
| productDesc | 商品描述    | 100 | 可空   | 需URLEncoder            |
|             |             |     |        | \"UTF-8\"处理           |
+-------------+-------------+-----+--------+-------------------------+
| reserved    | 商户保留域  | 60  | 可空   | 商户通过此字段向        |
|             |             |     |        | 支付系统发送信息,其将  |
|             |             |     |        | 依原样填充返回给商户。  |
+-------------+-------------+-----+--------+-------------------------+
| signMsg     | 数字签名    | 32  | 不可空 | 以上所有参数            |
|             |             |     |        | 及其值与密钥组合,经MD5 |
|             |             |     |        | 加                      |
|             |             |     |        | 密生成并转化为大写的32  |
|             |             |     |        | 位字符串。              |
+-------------+-------------+-----+--------+-------------------------+
|             | 对于        |     |        |                         |
|             | 所有值的参  |     |        |                         |
|             | 数及对应值  |     |        |                         |
|             | ,按照如上  |     |        |                         |
|             | 顺序和如下  |     |        |                         |
|             | 规则组成字  |     |        |                         |
|             | 符串,其中  |     |        |                         |
|             | key为密钥: |     |        |                         |
|             |             |     |        |                         |
|             | 参数1       |     |        |                         |
|             | ={参数1}&参 |     |        |                         |
|             | 数2={参数2  |     |        |                         |
|             | }&......&参 |     |        |                         |
|             | 数n={参数n  |     |        |                         |
|             | }&key={key} |     |        |                         |
|             |             |     |        |                         |
|             | 然后进行32  |     |        |                         |
|             | 位算法的MD5 |     |        |                         |
|             | 加密后      |     |        |                         |
|             | ,将结果转  |     |        |                         |
|             | 化为大写。  |     |        |                         |
|             |             |     |        |                         |
|             | signMs      |     |        |                         |
|             | g=MD5(参数1 |     |        |                         |
|             | ={参数1}&参 |     |        |                         |
|             | 数2={参数2  |     |        |                         |
|             | }&......&参 |     |        |                         |
|             | 数n={参数n} |     |        |                         |
|             | &key={key}) |     |        |                         |
+-------------+-------------+-----+--------+-------------------------+
| c           | 子商户号    | 15  | 可空   | 支付                    |
| hildMchntid |             |     |        | 系统统一分配给商户的子  |
|             |             |     |        | 商户编号,不参与验签。  |
+-------------+-------------+-----+--------+-------------------------+

CSV表格的文本体积精简

商户向支付系统的支付接入地址(http)提交订单信息,提交页面中应该包括如下信息(注意各字段的大小写):

参数名称,参数含义,长度,可否为空,参数说明
mchntid,商户编号,15,不可空,统一分配给商户的商户编号,用以区分不同商户。
orderId,订单编号,16,不可空,商户提交给系统的交易订单编号。
,,,,每个商户提交的订单号,必须在自身账户交易中唯一。
reserved,商户保留域,60,可空,商户通过此字段向支付系统发送信息,其将依原样填充返回给商户。
signMsg,数字签名,32,不可空,以上所有参数及其值与密钥组合,经MD5 加密生成并转化为大写的32 位字符串。
,对于所有值的参数及对应值,按照如上顺序和如下规则组成字符串,其中key为密钥:,,,
,参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key},,,
,然后进行32位算法的MD5 加密后,将结果转化为大写。,,,
,signMsg=MD5(参数1={参数1}&参数2={参数2}&……&参数n={参数n}&key={key}),,,
childMchntid,子商户号,15,可空,支付系统统一分配给商户的子商户编号,不参与验签。
 

ChatGPT答复的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python实用工具--全python制作一个音乐下载器

前言 又来展示一下关于Python的实用小技巧了,这次就来分享分享–如何用Python来制作一个音乐下载器 做这个有什么用啊,我只能说,可以免费下载歌曲啊,这样就能每月保住自己钱包咯 效果展示 基本界面 图片以及文字都是可以自己更…

《动手学深度学习》——线性神经网络

参考资料: 《动手学深度学习》 3.1 线性回归 3.1.1 线性回归的基本元素 样本: n n n 表示样本数, x ( i ) [ x 1 ( i ) , x 2 ( i ) , ⋯ , x d ( i ) ] x^{(i)}[x^{(i)}_1,x^{(i)}_2,\cdots,x^{(i)}_d] x(i)[x1(i)​,x2(i)​,⋯,xd(i)​…

序列化对象

1:对象序列化 以内存为基准,把内存中的对象存储到磁盘文件中去,称为对象序列化。使用到的流是对象字节输出流:ObjectOutputStream 2:对象要序列化,必须实现Serializable序列化接口 2:对象反序…

二十四、HTTPS

文章目录 一、HTTPS(一)定义(二)HTTP与HTTPS1.端口不同,是两套服务2.HTTP效率更高,HTTPS更安全 (三)加密,解密,密钥等概念(四)为什么要…

【H5】文件下载(javascript)

系列文章 【移动设备】iData 50P 技术规格 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130604517 【H5】avalon前端数据双向绑定 本文链接:https://blog.csdn.net/youcheng_ge/article/details/131067187 【H5】安卓自动更新方案&a…

hivesql列转行

原表: 目标表: sql代码: select dp as 日期 ,city_name as 城市, split_part(subject,‘:’,1) as 指标, cast( split_part(subject,‘:’,2) as double ) as 数值 from( select trans_array(2,‘;’,dp,city_name,subject) as (dp,city_na…

探秘高逼格艺术二维码的制作过程-AI绘画文生图

前几天看到几个逼格比较高的二维码,然后自己动手做了一下,给大家看看效果: 1、文生图(狮子): 2、文生图(城市): 下边将开始介绍怎么做的,有兴趣的可以继续读…

Vault AppRole最佳实现过程

AppRole AppRole身份验证方法允许机器或应用程序使用 Vault 定义的角色进行身份验证。AppRole 的开放式设计支持使用不同的工作流和配置来应对大量应用程序。这种身份验证方法主要是面向自动化工作流程(机器和服务)设计的,对人类操作者不太有用。 “AppRole”代表一组 Vau…

大数据Doris(五十六):RESOTRE数据恢复

文章目录 RESOTRE数据恢复 一、RESTORE数据恢复原理 二、RESTORE 数据恢复语法 三、RESOTRE数据恢复案例 1、在 Doris 集群中创建 mydb_recover 库 2、执行如下命令恢复数据 3、查看 restore 作业的执行情况 四、注意事项 RESOTRE数据恢复 Doris 支持BACKUP方式将当前…

力扣 40. 组合总和 II

题目来源:https://leetcode.cn/problems/combination-sum-ii/description/ C题解: 这道题的难点在于解集中不能包含重复的组合。如果用set去重会造成超时,所以只能在单层递归逻辑中处理。通过识别下一个数与当前数是否相同,来修改…

抖音小程序--开启沙盒模式后一直报,获取白名单失败:您没有权限访问此应用

一. 出现问题 按照抖音开发文档创建沙盒环境,然后替换appid后一直报无权限,如下图: 最后才发现,登录抖音开发工具的账户必须是超级管理员账户,添加的协助开发者,就算给了全部权限,也依然会报上面…

Navicat 入选中国信通院发布的《中国数据库产业图谱(2023)》

7 月 4 日,2023 年可信数据库发展大会主论坛在北京国际会议中心成功召开。会上,中国信息通信研究院正式发布《中国数据库产业图谱(2023)》。作为中国数据库生态工具供应商,凭借易用、稳定、可靠的产品力,以…

【C++】4.工具:读取yaml配置信息

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍读取yaml配置信息。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&…

web学习1--maven--项目管理工具

写在前面: 这学期搞主攻算法去了,web的知识都快忘了。开始复习学习了。 文章目录 maven介绍功能介绍maven安装jar包搜索仓库 pom文件项目介绍父工程依赖管理属性控制可选依赖构建 依赖管理依赖的传递排除依赖可选依赖 maven生命周期分模块开发模块聚合…

产品的帮助中心怎么建设?关于帮助文档的7个小技巧

用户使用产品的过程中,常常会遇到与产品使用相关的问题。这时候,用户通常会面临三个选择:1.寻找客服的帮助 2.阅读产品帮助文档 3.放弃使用产品。 显然,对于企业而言,当然是希望能够帮助用户解决问题,使其…

shiro入门

1、概述 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。借助 Shiro 您可以快速轻松地保护任何应用程序一一从最小的移动应用程序到最大的 Web 和企业应用程序。 作用:Shiro可以帮我们完成 :认证、授权、加密、会话管理、与 Web 集成、…

车载通信,来看看SOA架构通信如何跨系统的

SOA车载跨系统通信 在车载系统中实现跨系统通信时,SOA架构(Service-Oriented Architecture,面向服务的架构)可以提供一种有效的解决方案。以下是一种基于SOA的车载跨系统通信的概述: 定义服务接口:首先&a…

2023年无线蓝牙耳机排行榜,十款无线蓝牙耳机品牌推荐

蓝牙耳机作为现代生活必备的电子产品之一,我们在选购时的选择就显得尤为重要。随着各大科技公司对蓝牙耳机功能的不断完善,用户对于耳机的期望也越来越高,音质、性能、降噪、舒适度等方面都成为了用户选择蓝牙耳机时考虑的因素。接下来我们一…

从零开始 Spring Boot 57:JPA中的一对多关系

从零开始 Spring Boot 57:JPA中的一对多关系 图源:简书 (jianshu.com) 在上篇文章中我们介绍了如何在 JPA 中实现实体的一对一关系,在关系型数据库设计中,除了一对一关系,还存在一对多关系。本篇文章介绍如何在 JPA 中…

Android仿淘宝、京东、拼多多搜索历史

详情见代码 :https://github.com/yixiaolunhui/FSearchHistory