TableUtilCache:针对CSV表格进行的缓存

news2024/11/17 0:30:17

TableUtilCache:针对CSV表格进行的缓存

文件结构

首先来看下CSV文件的结构,如下图:
在这里插入图片描述
第一行是字段类型,第二行是字段名字;再往下是数据。每个元素之间都是使用逗号分隔。

看一下缓存里面存储所有表数据的字段

如下图:
在这里插入图片描述
我们使用tableData这个集合来存储所有的csv表格中的数据,其中第一个key是表格的名字比如说cfg_achievement_skill.csv表格的名字就是cfg_achievement_skill。而表格名字这个key对应的value值就是一张表里面的所有数据,第二个key是表格的列名,第二个value是当前行对应的单元格里的值;

看一下表格内容存储到tableData字段的存储流程

我们以表格cfg_achievement_skill表格为例。通过表的绝对路径去解析,如下图:
在这里插入图片描述在这里插入图片描述
看一下data的最终值,如下图:
在这里插入图片描述
最后看下表格中的实际数据,如下图:
在这里插入图片描述

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

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

相关文章

《向量数据库指南》——TruLens + Milvus Cloud构建RAG深入了解性能

深入了解性能 索引类型 本例中,索引类型对查询速度、token 用量或评估没有明显影响。这可能是因为数据量较小的关系。索引类型对较大语料库可能更重要。 Embedding 模型 text-embedding-ada-002 在准确性(0.72,平均 0.60)和答案相关度(0.82,平均0.62)上优于 MiniLM Embeddin…

wpf devexpress 开始点

此教程示范如何创建registration form和DevExpress WPF Data Editors 开始点 此项目源码 这个解决方案包含几个项目-每一个项目对应一个教程 RegistrationForm.BaseProject项目是基于工作的解决方案。项目包含三个视图:MainView,RegistraionView&…

正版软件|Kaspersky 杀毒软件 - 全方位安全软件

卡巴斯基 全方位安全软件 一款产品满足 您的全部安全需求, 通过屡获殊荣的保护产品抵御黑客、病毒和恶意软件,获得无与伦比的安全感。此外还有支付保护和隐私保护工具,为您提供全方位保护。包含高级版功能: 免费 Kaspersky Safe …

Git企业开发级讲解(三)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、版本回退1、内容2、演示 二、撤销修改1、情况⼀:对于⼯作区的代码&#xff0c…

GEM5 Garnet DVFS / NoC DVFS教程:ruby.clk_domain ruby.voltage_domain

简介 gem5中的 NoC部分是Garnet实现的,但是Garnet并没有单独的时钟域,而是保持ruby一致,要做noc的DVFS,便是要改ruby的 改电压 #这里只是生成一个随便变量名,存一下值。改是和频率一起的 userssaved_voltage_domain…

【MyBatis】写了 10 年的代码,我最怕写 MyBatis 这些配置,现在有详解了

在使用 mybatis 过程中,当手写 JavaBean和XML 写的越来越多的时候,就越来越容意出错。这种重复性的工作,我们当然不希望做那么多。 还好, mybatis 为我们提供了强大的代码生成--MybatisGenerator。 通过简单的配置,我们…

新版JetBrains ToolBox【Windows】修改应用安装位置

WIndows下新版的JetBrainse ToolBox 无法修改应用安装路径 关闭 ToolBox 应用修改配置文件.settings.json 路径:C:\Users\用户名\AppData\Local\JetBrains\Toolbox "install_location": "xxx",

早晨暖心的早安问候语,祝好心情从清晨开始,愿你享受美好生活每一天!

1、冬天里,重调理;多锻炼,日光浴;早安睡,晚游历;勤开窗,通空气;暖腹背,寒不欺;适滋补,强体力;心乐观,无忧虑;温…

LTD.com再度荣获“2023中国产业数字化技术赋能先锋”

2023年11月17日,由托比网主办的“第十届中国产业数字化大会”在江苏南京顺利召开。作为国内产业数字化领域的年度盛会,会议得到了江苏省商务厅、南京市政府的支持,由南京市商务局主办,南京鼓楼区政府提供特别支持。 会议在精彩的议…

vite+vue3+ts中watch和watchEffct的使用

vitevue3ts中watch和watchEffct的使用 本文目录 vitevue3ts中watch和watchEffct的使用watchrefreactivepropsimmediate组合监听 watchEffect单值多值侦听副作用停止监听 watch vue官方文档:https://cn.vuejs.org/api/reactivity-core.html#watch 可以监听基础类型&…

使用Docker部署Python Flask应用的完整教程

一、引言 Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,实现快速部署和跨平台运行。本文将详细介绍如何使用Docker来部署Python Flask应用程序,帮助开发者更高效地构建和部署应用。 二、准备工作 在开始之前…

Linux CentOS 8(DHCP的配置与管理)

Linux CentOS 8(DHCP的配置与管理) 目录 一、项目介绍二、DHCP服务简介三、DHCP工作原理四、配置DHCP服务4.1 项目配置准备4.2 dhcpd配置文件框架与参数说明4.3 登录客户机验证4.4 客户端IP地址的释放与重新申请4.5 保留特定IP地址 一、项目介绍 当计算…

【C++】容器string的构造函数和迭代器

目录 1 什么是string 2 迭代器 2.1 迭代器的使用 2.2 auto关键字以及代码可读性 3 构造函数 1 什么是string 上图是C官网对于string的解释:string是表示字符序列的对象。 string本质是一个类,位于std的命名空间下,使用前需要包含头文件…

基于乌燕鸥算法优化概率神经网络PNN的分类预测 - 附代码

基于乌燕鸥算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于乌燕鸥算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于乌燕鸥优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络…

安全知识普及:什么是垃圾邮件和网络钓鱼欺诈

文章目录 什么是垃圾邮件?如何保护您自己免遭垃圾电子邮件和网络钓鱼侵害区分私人和公用电子邮件私人电子邮件公共电子邮件 使用反垃圾邮件过滤器推荐阅读 什么是垃圾邮件? 您的邮箱里经常会出现一些莫名其妙的邮件,而这就是电子形式的垃圾邮…

【STM32】CRC(循环冗余校验)

一、CRC的背景知识 1、什么是CRC (1)CRC(Cyclic Redundancy Check),循环冗余校验 (2)什么是校验,为什么需要校验:数据传输,数据存储过程中需要使用到的 (3)什么是冗余:表示比实际上要传输的数据…

【Unity小技巧】图片使用的一些常见问题

文章目录 前言Button不规则按钮点击空白区域不响应点击事件1. 设置资源参数2. 代码设置按钮Image的alphaHitTestMinimumThreshold3. 解释:4. 效果 Unity Image 原图比例控制方法一 Preserve Aspect1. 设置勾选Preserve Aspect(保持长宽比)&am…

docker删除镜像命令

在Docker中删除镜像的命令是 docker rmi。这个命令用于删除一个或多个Docker镜像。使用这个命令时,你需要指定要删除的镜像的ID或名称。以下是一些常用的用法: 删除单个镜像: docker rmi [IMAGE_ID或REPOSITORY:TAG]例如,如果你知…

【OpenAI开发者大会,全新大模型它来了,价格大跌...】

继今年春天发布 GPT-4 之后,OpenAI 又创造了一个不眠夜。 过去一年,ChatGPT 绝对是整个科技领域最热的词汇。 北京时间 11 月 7 日凌晨 02:00,OpenAI 的首次 DevDay 开发者日活动正式开始。Keynote 主论坛环节由 Sam Altman 主讲并在油管现…

Reflect的作用,target,property,value,receiver代表啥

1.真的proxy let target {name:张三} let handler {get(target,property,receiver){console.log(1,target,2,property,3,receiver)return Reflect.get(target,property,receiver)},set(target,property,value,receiver){console.log(a,target,b,property,c,value,d,receiver)…