尝试读取 csv 文件来创建表时出错

尝试读取 csv 文件来创建表时出错

我有一个如下的 csv:

CategoryName,Pageviews
Restaurants,37951
Shopping,22002
Things to do,20067
Nightlife,10612
Gifts,9194
Food Shopping,8655
Useful Stuff,8536
Parenting ,8353
Home,7654
Fitness,6623
Event & Party Planning,6387
Sports,4351
Health & Wellness,4201
Women's Beauty,3807
Pets,2923
Vehicles,2492
Male Grooming,2339
Hotels & Rentals ,2332
Charities,364

我在用着

\usepackage{csvsimple}

使用以下代码读取 csv 并将其打印为表格。

\csvautotabular{猫.csv}

这是行不通的。

我也尝试过

\begin{tabular}{l|c}%
\bfseries Category & \bfseries Metric
\csvreader[head to column names]{cats.csv}{}
{\\\hline\CategoryName\  & \metric}
\end{tabular}

这也不起作用,我猜是因为 CategoryName 字段中有空格。有没有不删除空格的解决方法可以解决这个问题?我在手册中找不到解决方案csvsimple

答案1

您可以使用 来做到这一点,只要您在读取文件之前\csvautotabular更改 的类别代码即可。&

\begin{filecontents*}{\jobname.csv}
CategoryName,Pageviews
Restaurants,37951
Shopping,22002
Things to do,20067
Nightlife,10612
Gifts,9194
Food Shopping,8655
Useful Stuff,8536
Parenting ,8353
Home,7654
Fitness,6623
Event & Party Planning,6387
Sports,4351
Health & Wellness,4201
Women's Beauty,3807
Pets,2923
Vehicles,2492
Male Grooming,2339
Hotels & Rentals ,2332
Charities,364
\end{filecontents*}

\documentclass{article}
\usepackage{csvsimple}

\begin{document}

\csvautotabular[before reading={\catcode`&=12}]{\jobname.csv}

\end{document}

在此处输入图片描述

答案2

问题在于 & 符号。编辑 CSV 文件以用或 文本字符串&替换所有可解决此问题。&\&and


“&” 符号是特殊字符在表格和数组环境中描绘字段。要访问它,您需要对其进行转义。该csvsimple包不会对您的 csv 数据进行任何健全性检查:它读取数据并将其包装在适当的 LaTeX 代码中以供显示和使用。您的 csv 文件中的内容是逐字读取的。

相关内容