当前位置: 首页 > news >正文

利用tex调用csv文件中的数据

文章目录

  • 介绍
  • 基本步骤
  • 用法
    • 输出全部数据
      • 效果展示
    • 遍历数据并自定义格式
      • 效果展示
    • 筛选数据(条件查询)
      • 效果展示
    • 排序数据
      • 效果展示

介绍

\usepackage{datatool} 是 LaTeX 中一个用于处理数据的强大宏包,支持从外部数据文件(如 CSV、Excel 导出的文本文件等)读取数据,并在文档中灵活调用、筛选、排序和格式化数据,常用于生成表格、标签、报告等场景。

基本步骤

使用 datatool 通常分为三步:

  • 加载宏包:在导言区引入 datatool。
  • 读取数据:从外部文件(如 CSV)导入数据到数据库(database)。
  • 调用数据:在文档中查询、筛选并输出数据。

用法

输出全部数据

Step1: 导入数据并定义名称

\DTLloaddb{mydata}{data.csv}  % 定义数据库名称为“学生数据”,从 data.csv 读取

Step2: 展示数据

\DTLdisplaydb{mydata}  % 自动生成包含所有行和列的表格

效果展示

在这里插入图片描述

\documentclass{article}
\usepackage{datatool}
\usepackage{xcolor}
\newcommand{\red}{\color{red}}
\newcommand{\blue}{\color{blue}}
\begin{document}\DTLloaddb{mydata}{data.csv}\DTLdisplaydb{mydata}

在这里插入图片描述

\documentclass{article}
\usepackage{datatool}
\usepackage{xcolor}
\usepackage{ifthen}
\usepackage{booktabs}
\newcommand{\red}{\color{red}}
\newcommand{\blue}{\color{blue}}
\begin{document}\DTLloaddb{mydata}{data.csv}\begin{tabular}{lll}
\toprule
Year & Title & Author \\
\midrule
\DTLforeach{mydata}{\Year=year, \Title=title, \Author=author}{%\ifthenelse{\Year>2018}{%\Year & \Title & \Author \\}{%% 不输出其他年份的行}%
}\\
\hline
\end{tabular}

在这里插入图片描述

遍历数据并自定义格式

用 \DTLforeach 循环遍历每一行,按需提取列数据

\DTLforeach[⟨选项⟩]{⟨表格名⟩}{⟨变量赋值⟩}{⟨循环体⟩}

效果展示

在这里插入图片描述

\documentclass{article}
\usepackage{datatool}
\usepackage{xcolor}
\newcommand{\red}{\color{red}}
\newcommand{\blue}{\color{blue}}
\begin{document}\DTLloaddb{mydata}{data.csv}\begin{itemize}\DTLforeach{mydata}% 数据库名{\year=year, \title=title, \author=author}% 定义变量映射(列名=变量名){% 循环体:输出每个变量\item the year is {\year}, and the title is {\title}, and the author is {\author} .}
\end{itemize}

在这里插入图片描述

筛选数据(条件查询)

\DTLforeach结合\usepackage{ifthen}可以实现条件的筛选。

效果展示

\documentclass{article}
\usepackage{datatool}
\usepackage{xcolor}
\usepackage{ifthen}
\newcommand{\red}{\color{red}}
\newcommand{\blue}{\color{blue}}
\begin{document}\DTLloaddb{mydata}{data.csv}\begin{itemize}
\DTLforeach{mydata}{\year=year, \title=title, \author=author}{\ifthenelse{\not \year<2018}{% 循环体\item The year is {\year}, the title is {\title}, author is {\author}.
}
{%条件为假什么也不做}
}\end{itemize}

在这里插入图片描述

\documentclass{article}
\usepackage{datatool}
\usepackage{xcolor}
\usepackage{ifthen}
\newcommand{\red}{\color{red}}
\newcommand{\blue}{\color{blue}}
\begin{document}\DTLloaddb{mydata}{data.csv}\begin{itemize}
\DTLforeach{mydata}{\year=year, \title=title, \author=author}{\ifthenelse{ \year>2013 \AND \year<2025}{% 循环体\item The year is {\year}, the title is {\title}, author is {\author}.
}
{%条件为假什么也不做}
}\end{itemize}

在这里插入图片描述

排序数据

\DTLsort{排序字段}{数据库名}

效果展示

\DTLsort{year=descending}{mydata}  % 按“year”降序排序(ascending 为升序)
\DTLdisplaydb{mydata}

在这里插入图片描述

http://www.dtcms.com/a/558943.html

相关文章:

  • 硅云网站建设视频wordpress观点
  • 花都建设网站保定厂家推荐信息流推广
  • Python 虚拟环境和包管理
  • 高端网站建设 aspx做衣服的3d软件
  • 网站页面设计怎么做百度知道首页网
  • Day3:自动化脚本与 Lambda
  • 网站制作培训一般要多少钱网页设计的工作
  • 做直播 网站的上市公司北京市建设工程信息网官方网站
  • C++:用红黑数封装实现map,set
  • 手机网站友情链接怎么做和易企秀类似的软件免费的
  • 网站seo外链建设四川seo快速排名
  • 住房和城乡建设部网站预售证公司介绍模板图片
  • 可以做手机网页的网站服装网站建设方法
  • 外卖网站建设费用怎么上传网站源码
  • Linux操作系统母盘便捷持久化部署方案
  • 东莞网站建设优化技术成都网站建设哪家
  • 永久免费的wap建站平台宿松网站建设设计
  • 大连网站怎么推广360seo关键词优化
  • 自己做qq头像的网站中卫企业管理培训网站
  • 大良网站建设如何wordpress的登录地址
  • 番禺建设局网站首页如何给网站做右侧导航栏
  • 如何做响应式的网站外贸做那种网站
  • 响应式环保网站模板下载wordpress头像上传插件
  • 个人网站企业网站网站自助建站软件
  • 环保网站 中企动力建设深圳哪些公司需要做网站
  • 网站备案 流程介绍几个有趣的网站
  • wordpress整体加速seo上海公司
  • 江油网站建设制作策划哪家专业技术支持 东莞网站建设
  • STM32项目分享:基于STM32的小区无线手机充电装置设计
  • 上海网站建设公司招聘wordpress 菜单怎么使用方法