Thecsvsimplepackage
Manualforversion1.12(2014/07/14)
ThomasF.Sturm
1
Abstract
csvsimpleprovidesasimpleL
A
T
E
Xinterfacefor theprocessingof files withcomma
separated values (CSV). csvsimple e relies s heavily on n the e key value e syntax from
pgfkeyswhichresults(hopefully)inaneasywayof usage. . Filteringandtablegen-
erationisespeciallysupported. Sincethepackageisconsideredasalightweighttool,
thereisnosupportfordatasortingordatabasestorage.
Contents
1 Introduction
2
1.1 LoadingthePackage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2 FirstSteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2 MacrosfortheProcessingofCSVFiles
7
3 OptionKeys
13
3.1 CommandDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 HeaderProcessingandColumnNameAssignment . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 ConsistencyCheckandFiltering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 TableSupport. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5 SpecialCharacters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.6 Separators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.8 Sorting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 Examples
25
4.1 ASerialLetter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 AGraphicalPresentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Macrocodeinsidethedata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 TableswithNumberFormatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 CSVdatawithoutheaderline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.6 ImportedCSVdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
References
37
Index
38
1
Prof. Dr. Dr. Thomas F. Sturm, , Institut t für Mathematik und d Informatik, , Universität der Bundeswehr
München,D-85577Neubiberg,Germany;email:thomas.sturm@unibw.de
1
Table from pdf to powerpoint - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
pdf to powerpoint conversion; converting pdf to ppt
Table from pdf to powerpoint - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
convert pdf to powerpoint with; convert pdf pages into powerpoint slides
1 Introduction
ThecsvsimplepackageisappliedtotheprocessingofCSV
2
files. Thisprocessingiscontrolled
by key valueassignments accordingtothesyntax of pgfkeys [6]. . Sample e applicationsofthe
packagearetabularlists,serialletters,andcharts.
An alternative e to o csvsimple e is s the datatool l package e [5]which provides considerably more
functions and d allows s sorting of data by LAT
E
X. csvsimple e has a different approach h for the
userinterfaceandisdeliberatelyrestrictedtosomebasicfunctionswithfastprocessingspeed.
Sortingisnotsupporteddirectlybutcanbedonewithexternaltools,seeSection3.8onpage20.
1.1 Loadingthe e Package
The package csvsimple loads thepackages pgfkeys [6] and ifthen [1]. . csvsimple e itselfis
loadedintheusualmannerinthepreamble:
\usepackage{csvsimple}
Not automatically loaded, , but t used d for many y examples are the packages s longtable e [2] and
booktabs[3].
1.2 FirstSteps
EverylineofaprocessableCSVfilehastocontainanidenticalamount ofcomma
3
separated
values. Thecurlybraces s {} ofT
E
Xgroups can n be usedtomask k ablock whichmay contain
commasnottobeprocessedasseparators.
ThefirstlineofsuchaCSVfileisusuallybutnotnecessarilyaheaderlinewhichcontainsthe
identifiersforeachcolumn.
CSVfile«grade.csv»
name,givenname,matriculation,gender,grade
Maier,Hans,12345,m,1.0
Huber,Anna,23456,f,2.3
Wei\ss{}b\"{a}ck,Werner,34567,m,5.0
Bauer,Maria,19202,f,3.3
The most t simple e way to display a CSV file e in n tabular form m is the processing with the
\csvautotabular
ÕP.8
command.
\csvautotabular{grade.csv}
name
givenname
matriculation
gender
grade
Maier
Hans
12345
m
1.0
Huber
Anna
23456
f
2.3
Weißbäck
Werner
34567
m
5.0
Bauer
Maria
19202
f
3.3
2
CSVfile: filewithcommaseparatedvalues.
3
See/csv/separator
ÕP.18
forotherseparatorsthancomma.
2
C# Word - Table Processing in C#.NET
C# Word - Table Processing in C#.NET. Provide C# Users with Variety of Methods to Setup and Modify Table in Word Document. Overview. Create Table in Word.
how to convert pdf into powerpoint slides; how to convert pdf slides to powerpoint
C# Word - Table Row Processing in C#.NET
C# Word - Table Row Processing in C#.NET. How to Set and Modify Table Rows in Word Document with C#.NET Solutions. Overview. Create and Add Rows in Table.
online pdf converter to powerpoint; how to convert pdf to powerpoint on
Typically,onewoulduse\csvreader
ÕP.7
insteadof\csvautotabulartogainfullcontrolover
theinterpretationoftheincludeddata.
Inthefollowingexample,theentriesoftheheaderlineareautomaticallyassignedtoT
E
Xmacros
whichmaybeuseddeliberately.
\begin{tabular}{|l|c|}\hline%
\bfseries Person & \bfseries Matr.~No.
\csvreader[head to column n names]{grade.csv}{}%
{\\\givenname\ \name & & \matriculation}%
\\\hline
\end{tabular}
Person
Matr. No.
HansMaier
12345
AnnaHuber
23456
WernerWeißbäck
34567
MariaBauer
19202
\csvreaderiscontrolledbyaplentyofoptions.Forexample,fortableapplicationslinebreaks
areeasilyinsertedby/csv/late after line
ÕP.13
.Thisdefinesamacroexecutionjustbefore
thefollowingline. Additionally,theassignmentofcolumnstoT
E
Xmacrosis showninanon
automatedway.
\begin{tabular}{|r|l|c|}\hline%
& Person & & Matr.~No.\\\hline\hline
\csvreader[late after r line=\\\hline]%
{grade.csv}{name=\name,givenname=\firstname,matriculation=\matnumber}%
{\thecsvrow & \firstname~\name e & & \matnumber}%
\end{tabular}
Person
Matr.No.
1
HansMaier
12345
2
AnnaHuber
23456
3
WernerWeißbäck
34567
4
MariaBauer
19202
Anevenmorecomfortableandpreferrablewaytocreateatableis settingappropriateoption
keys.Note,thatthisgivesyouthepossibilitytocreateapgfkeysstylewhichcontainsthewhole
tablecreation.
\csvreader[tabular=|r|l|c|,
table head=\hline & Person & & Matr.~No.\\\hline\hline,
late after r line=\\\hline]%
{grade.csv}{name=\name,givenname=\firstname,matriculation=\matnumber}%
{\thecsvrow & \firstname~\name e & & \matnumber}%
Person
Matr.No.
1
HansMaier
12345
2
AnnaHuber
23456
3
WernerWeißbäck
34567
4
MariaBauer
19202
3
C# Word - Table Cell Processing in C#.NET
C# Word - Table Cell Processing in C#.NET. Online Tutorial for Users to Set and Modify Table Cells in Word Document. Overview. Create and Add Cells in Table.
convert pdf to ppt online; convert pdf to powerpoint slides
How to C#: Convert PDF, Excel, PPT to Word
Footnote & Endnote Processing. Table Row Processing. Table Cell Processing. VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff
changing pdf to powerpoint; add pdf to powerpoint slide
Thenext exampleshowssuchastyledefinitionwiththeconveniencemacro \csvstyle
ÕP.10
.
Here,weseeagaintheautomatedassignmentofheaderentriestocolumnnamesby/csv/head
to column names
ÕP.14
. For r this, , the header r entries s have e to be e without spaces s and d special
characters. But t youcan n always s assignentries tocanonicalmacronames by hand d likein the
examplesabove.
\csvstyle{myTableStyle}{tabular=|r|l|c|,
table head=\hline & Person & & Matr.~No.\\\hline\hline,
late after r line=\\\hline,
head to column names}
\csvreader[myTableStyle]{grade.csv}{}%
{\thecsvrow & \givenname~\name e & & \matriculation}%
Person
Matr.No.
1
HansMaier
12345
2
AnnaHuber
23456
3
WernerWeißbäck
34567
4
MariaBauer
19202
Anotherwaytoaddresscolumnsistousetheirromannumbers. Thedirectaddressingisdone
by\csvcoli,\csvcolii,\csvcoliii,...:
\csvreader[tabular=|r|l|c|,
table head=\hline & Person & & Matr.~No.\\\hline\hline,
late after r line=\\\hline]%
{grade.csv}{}%
{\thecsvrow & \csvcolii~\csvcoli & \csvcoliii}%
Person
Matr.No.
1
HansMaier
12345
2
AnnaHuber
23456
3
WernerWeißbäck
34567
4
MariaBauer
19202
Andyetanothermethodtoassignmacrostocolumnsistousearabicnumbersfortheassignment:
\csvreader[tabular=|r|l|c|,
table head=\hline & Person & & Matr.~No.\\\hline\hline,
late after r line=\\\hline]%
{grade.csv}{1=\name,2=\firstname,3=\matnumber}%
{\thecsvrow & \firstname~\name e & & \matnumber}%
Person
Matr.No.
1
HansMaier
12345
2
AnnaHuber
23456
3
WernerWeißbäck
34567
4
MariaBauer
19202
4
C# Word - Header & Footer Processing in C#.NET
Create and Add Table to Footer & Header. The following demo code shows how to create table in footer and header. String docFilePath
converting pdf to powerpoint online; how to convert pdf into powerpoint
How to C#: Overview of Using XDoc.Word
Rapidly load, create, and edit Word document (pages) in C# class library. Able to render and convert Word document to/from supported document (PDF and ODT).
convert pdf to ppt; how to convert pdf to ppt
For recurring g applications, , the pgfkeys s syntax allows to create own styles for a a consistent
andcentralizeddesign. Thefollowingexampleiseasilymodifiedtoobtainmoreorlessoption
settings.
\csvset{myStudentList/.style={%
tabular=|r|l|c|,
table head=\hline & Person & & #1\\\hline\hline,
late after r line=\\\hline,
column names={name=\name,givenname=\firstname}
}}
\csvreader[myStudentList={Matr.~No.}]{grade.csv}{matriculation=\matnumber}%
{\thecsvrow & \firstname~\name e & & \matnumber}%
\hfill%
\csvreader[myStudentList={Grade}]{grade.csv}{grade=\grade}%
{\thecsvrow & \firstname~\name e & & \grade}%
Person
Matr.No.
1
HansMaier
12345
2
AnnaHuber
23456
3
WernerWeißbäck
34567
4
MariaBauer
19202
Person
Grade
1
HansMaier
1.0
2
AnnaHuber
2.3
3
WernerWeißbäck
5.0
4
MariaBauer
3.3
Alternatively, column n names s can n be set t by \csvnames
ÕP.10
and style e definitions by
\csvstyle
ÕP.10
.Withthis,thelastexampleisrewrittenasfollows:
\csvnames{myNames}{1=\name,2=\firstname,3=\matnumber,5=\grade}
\csvstyle{myStudentList}{tabular=|r|l|c|,
table head=\hline & Person & & #1\\\hline\hline,
late after r line=\\\hline, myNames}
\csvreader[myStudentList={Matr.~No.}]{grade.csv}{}%
{\thecsvrow & \firstname~\name e & & \matnumber}%
\hfill%
\csvreader[myStudentList={Grade}]{grade.csv}{}%
{\thecsvrow & \firstname~\name e & & \grade}%
Person
Matr.No.
1
HansMaier
12345
2
AnnaHuber
23456
3
WernerWeißbäck
34567
4
MariaBauer
19202
Person
Grade
1
HansMaier
1.0
2
AnnaHuber
2.3
3
WernerWeißbäck
5.0
4
MariaBauer
3.3
5
C# Word - Document Processing in C#.NET
0); //Save the document doc0.Save(@""). Create, Add, Delete or Modify Paragraph and Table in Word Document. If you want to create
pdf to powerpoint converter; convert pdf to powerpoint online no email
C# Word - Word Create or Build in C#.NET
Create Word Document from Existing Files Using C#. Create Word From PDF. Create Word From PowerPoint. Create Word From Open Office Files. Table Processing.
convert pdf to editable ppt online; how to change pdf to powerpoint format
ThedatalinesofaCSVfilecanalsobefiltered.Inthefollowingexample,acertificateisprinted
onlyforstudentswithgradeunequalto5.0.
\csvreader[filter not equal={\grade}{5.0}]%
{grade.csv}{1=\name,2=\firstname,3=\matnumber,4=\gender,5=\grade}%
{\begin{center}\Large\bfseries Certificate in Mathematics\end{center}
\large\ifthenelse{\equal{\gender}{f}}{Ms.}{Mr.}
\firstname~\name, matriculation number \matnumber, has passed the e test
in mathematics with h grade e \grade.\par\ldots\par
}%
CertificateinMathematics
Mr.HansMaier,matriculationnumber12345,haspassedthetestinmathematics
withgrade1.0.
...
CertificateinMathematics
Ms.AnnaHuber,matriculationnumber23456,haspassedthetestinmathematics
withgrade2.3.
...
CertificateinMathematics
Ms.MariaBauer,matriculationnumber19202,haspassedthetestinmathematics
withgrade3.3.
...
6
C# Word - Footnote & Endnote Processing in C#.NET
Create or Add Table in Footnote & Endnote. The following demo code shows how to create table in the footnote. String docFilePath
how to convert pdf slides to powerpoint presentation; export pdf into powerpoint
C# Word - Convert Word to PDF in C#.NET
Word: Convert Word to PDF. C# Word - Convert Word to PDF in C#.NET. Online C# Tutorial for Converting Word to PDF (.pdf) Document. Word to PDF Conversion Overview
convert pdf to editable powerpoint online; how to change pdf file to powerpoint
2 MacrosfortheProcessingofCSVFiles
\csvreader[options]{filename}{assignments}{commandlist}
\csvreaderreadsthefiledenotedbyfilenamelinebyline. Everylineofthefilehasto
containanidenticalamountofcommaseparatedvalues. Thecurlybraces{}ofT
E
Xgroups
canbeusedtomaskablockwhichmaycontaincommasnottobeprocessedasseparators.
The first line of suchaCSVfile is by default but not necessarilyprocessedas a header
linewhichcontainstheidentifiersforeachcolumn. Theentriesofthislinecanbeusedto
giveassignmentstoT
E
Xmacrostoaddress thecolumns. . Thenumberofentriesofthis
firstlinedeterminestheacceptednumberofentriesforallfollowinglines.Everylinewhich
containsahigherorlowernumberofentriesisignoredduringstandardprocessing.
Theassignmentsaregivenbykeyvaluepairsname=macro.Here,nameisanentry
fromtheheaderlineor thearabicnumberoftheaddressedcolumn. macroissomeT
E
X
macrowhichgetsthecontentoftheaddressedcolumn.
Thecommandlistisexecutedforeveryaccepteddataline. Insidethecommandlistis
applicable:
• \thecsvroworthecountercsvrowwhichcontainsthenumberofthecurrentdataline
(startingwith1).
• \csvcoli\csvcolii\csvcoliii, ..., which contain the contents of the column
entriesofthecurrentdataline.Alternativelycanbeused:
• macrofromtheassignmentstohavealogicaladdressingofacolumnentry.
Note,thatthecommandlistisallowedtocontain\parandthatallmacrodefinitionsare
madeglobaltobeusedfortableapplications.
TheprocessingofthegivenCSVfile canbecontrolledby various optionsgivenas key
valuelist.Thefeasibleoptionkeysaredescribedinsection3frompage13.
\csvreader[tabular=|r|l|l|, table e head=\hline, table e foot=\hline]{grade.csv}%
{name=\name,givenname=\firstname,grade=\grade}%
{\grade & & \firstname~\name e & & \csvcoliii}
1.0
HansMaier
12345
2.3
AnnaHuber
23456
5.0
WernerWeißbäck
34567
3.3
MariaBauer
19202
Mainly,the\csvreadercommandconsistsofa\csvloopmacrowithfollowingparameters:
\csvloop{options, file=filename, column names=assignments,
command=commandlist}
Therefore,theapplicationofthekeys /csv/file
ÕP.19
and/csv/command
ÕP.13
isuseless
for\csvreader.
\csvloop{options}
Usually, \csvreader may y be preferred d instead d of f \csvloop. \csvreader is s based on
\csvloop which takes a a mandatory y list of f options  in n key y value e syntax. . This s list of
optionscontrolsthetotalprocessing.Especially,ithastocontaintheCSVfilename.
\csvloop{file={grade.csv}, head d to o column names, command=\name,
before reading={List of students:\ },
late after r line={{,}\ }, late e after r last t line=.}
Listofstudents:Maier,Huber,Weißbäck,Bauer.
7
Thefollowing \csvauto...commandsareintendedfor quick dataoverviewwithlimitedfor-
mattingpotential. SeeSubsection3.4onpage16forthegeneraltableoptionsincombination
with\csvreader
ÕP.7
and\csvloop
ÕP.7
.
\csvautotabular[options]{filename}
\csvautotabular is s an n abbreviation for the application of the option n key
/csv/autotabular
ÕP.16
together with other options to \csvloop
ÕP.7
. This s macro
readsthewholeCSVfiledenotedbyfilenamewithanautomatedformatting.
\csvautotabular{grade.csv}
name
givenname
matriculation
gender
grade
Maier
Hans
12345
m
1.0
Huber
Anna
23456
f
2.3
Weißbäck
Werner
34567
m
5.0
Bauer
Maria
19202
f
3.3
\csvautotabular[filter equal={\csvcoliv}{f}]{grade.csv}
name
givenname
matriculation
gender
grade
Huber
Anna
23456
f
2.3
Bauer
Maria
19202
f
3.3
\csvautolongtable[options]{filename}
csvautolongtable is s an abbreviation for r the application n of f the e option n key
/csv/autolongtable
ÕP.16
together with h other r options to \csvloop
ÕP.7
. This s macro
reads the whole CSV file e denoted d by y file name with an n automated d formatting. . For
application,thepackagelongtableisrequiredwhichhastobeloadedinthepreamble.
\csvautolongtable{grade.csv}
name
givenname
matriculation
gender
grade
Maier
Hans
12345
m
1.0
Huber
Anna
23456
f
2.3
Weißbäck
Werner
34567
m
5.0
Bauer
Maria
19202
f
3.3
8
\csvautobooktabular[options]{filename}
\csvautotabular is s an n abbreviation for the application of the option n key
/csv/autobooktabular
ÕP.16
together with h other options  to \csvloop
ÕP.7
.
This
macroreadsthewholeCSVfiledenotedbyfilenamewithanautomatedformatting. For
application,thepackagebooktabsisrequiredwhichhastobeloadedinthepreamble.
\csvautobooktabular{grade.csv}
name
givenname
matriculation
gender
grade
Maier
Hans
12345
m
1.0
Huber
Anna
23456
f
2.3
Weißbäck
Werner
34567
m
5.0
Bauer
Maria
19202
f
3.3
\csvautobooklongtable[options]{filename}
csvautobooklongtable is an abbreviation n for the application n of f the option n key
/csv/autobooklongtable
ÕP.16
together with h other r options to \csvloop
ÕP.7
. This
macroreadsthewholeCSVfiledenotedbyfilenamewithanautomatedformatting. For
application,thepackages booktabsandlongtablearerequiredwhichhavetobeloaded
inthepreamble.
\csvautobooklongtable{grade.csv}
name
givenname matriculation gender r grade
Maier
Hans
12345
m
1.0
Huber
Anna
23456
f
2.3
Weißbäck Werner
34567
m
5.0
Bauer
Maria
19202
f
3.3
9
\csvset{options}
Setsoptions for everyfollowing\csvreader
ÕP.7
and\csvloop
ÕP.7
. For r example,this
commandmaybeusedforstyledefinitions.
\csvset{grade list/.style=
{column names={name=\name,givenname=\firstname,grade=\grade}},
passed/.style={filter not t equal={\grade}{5.0}} } }
The following students s passed the test t in n mathematics:
\csvreader[grade list,passed]{grade.csv}{}{\firstname\ \ \name\ (\grade); ; }%
Thefollowingstudentspassedthetestinmathematics: HansMaier(1.0);AnnaHuber(2.3);Maria
Bauer(3.3);
\csvstyle{Stilname}{options}
Abbreviationfor\csvset{stylename/.style={options}}todefineanewstyle.
\csvnames{Stilname}{Zuweisungsliste}
Abbreviationfor\csvset{stylename/.style={column names={assignments}}}tode-
fineadditionalassignmentsofmacrostocolumns.
\csvnames{grade list}{name=\name,givenname=\firstname,grade=\grade}
\csvstyle{passed}{filter not equal={\grade}{5.0}}
The following students s passed the test t in n mathematics:
\csvreader[grade list,passed]{grade.csv}{}{\firstname\ \ \name\ (\grade); ; }%
Thefollowingstudentspassedthetestinmathematics: HansMaier(1.0);AnnaHuber(2.3);Maria
Bauer(3.3);
\csvheadset{assignments}
Forsomespecialcases,thiscommandcanbeusedtochangetheassignmentsofmacros
tocolumnsduringexecutionof\csvreader
ÕP.7
and\csvloop
ÕP.7
.
\csvreader{grade.csv}{}%
{ \csvheadset{name=\n} \fbox{\n}
\csvheadset{givenname=\n} \ldots\ \fbox{\n} } }%
Maier
... Hans
Huber
... Anna
Weißbäck
... Werner
Bauer
... Maria
10
Documents you may be interested
Documents you may be interested