我必须导入一个 csv 表,其条目包含下划线。一个简单的示例如下表:
FirstCol, SecondCol
Item_A, Item_B
我正在尝试csvsimple
使用“respect underscore=true”选项解决该包的问题。这是一个最小的工作示例:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{longtable}
\usepackage{csvsimple}
\usepackage{array,booktabs}
\usepackage[T1]{fontenc}
\begin{document}
\begin{longtable}{|l|l|}
\hline
\csvreader[respect underscore=true, head to column names,
late after line=\\\hline]{Test.csv}{}{\FirstCol & \SecondCol}
\end{longtable}
\end{document}
此代码产生以下结果:
如何去掉表格下方明显错误的列分隔符?明确地说,我想要的是:
请注意,只有存在“respect underscore=true”选项时才会出现两个分隔符。如果我删除此选项(并从输入文件中删除下划线),则一切都会按预期工作。
答案1
解决方案可能pgfplotstable
与verb string type
选项有关。
\documentclass[10pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{longtable}
\usepackage{array,booktabs}
\renewcommand*{\arraystretch}{1.2}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.15}
\usepackage{filecontents}
\begin{filecontents}{Test.csv}
FirstCol, SecondCol
Item_A, Item_B
\end{filecontents}
\begin{document}
\pgfplotstableread[col sep=comma]{Test.csv}{\mytable}
\pgfplotstabletypeset[
begin table={\begin{longtable}},
every head row/.append style={before row={%
\hline
\endfirsthead
\hline
FirstCol & SecondCol\\
\hline
\endhead
},
},
after row=\hline,
end table={\end{longtable}},
every first column/.style={column type={|l|}},
every column/.style={column type={l|}},
verb string type
]{\mytable}
\end{document}