برای خوندن دادهها از فایل csv
میتونیم از بستهٔ csvsimple
استفاده کنیم. با یک مثال ساده شروع میکنیم و راهنمای بسته رو هم اگه ببینین، توضیحات و مثالهای بیشتری داره که میشه روی جدول کنترل بیشتری داشت.
فرض کنید یک دیتابیس با پسوند csv
بهاین شکل داریم:
(توجه داشته باشید که برای کد کمینهای که در ادامه خواهد آمد، نیازی به ایجاد این دیتابیس نیست. با اجرای کد، خودش، ساخته و استفاده خواهد شد)
میخواهیم این داده را بهصورت جدول در لیتک بیاوریم. از بستهٔ csvsimple
، دستور \csvreader
را با فرمت کلی زیر داریم:
\csvreader[options]{file name.csv}{assignments}{command list}
در قسمت [options]
یک سری دستورات برای مدیریت سطرها نوشته میشود.
در قسمت بعدی، نام فایل دیتابیس نوشته میشود.
در قسمت {assignments}
، اسم ستونها را مشخص میکنیم که دلخواه هستند و البته بایستی یکتا باشند.
و در قسمت آخر هم نحوهٔ چیدمان ستونها مشخص میشود.
کد کمینه:
\begin{filecontents*}[overwrite]{data.csv}
name, family, number
نام 1, نامخانوادگی 1, 123456
نام 2, نامخانوادگی 2, 456789
نام 3, نامخانوادگی 3, 789456
\end{filecontents*}
\documentclass[12pt]{article}
\usepackage{csvsimple}
\usepackage{xepersian}
\settextfont{Amiri}
\begin{document}
\begin{table}[!htb]
\centering
\caption{جدول با بستهٔ
\textsf{csvsimple}}
\begin{tabular}{ccc}
\hline
نامخانوادگی & نام & شماره
\\\hline
\csvreader[late after line=\\]%
{data.csv}{name=\firstname, family=\family, number=\myNumber}%
{\family & \firstname & \myNumber}
\hline
\end{tabular}
\end{table}
\end{document}
خروجی:
همانطور که میبینید، میتوان ترتیب ستونها رو بدلخواه چید و محدودیتی از این لحاظ، در مقایسه با ترتیب دیتابیس، ندارد.
اگر تعداد سطرهای داده زیاد باشد، بایستی از longtable
استفاده کنید.