Saltar al contenido

Poner en negrita una celda en la tabla usando el lector de CSV

Mantén la atención ya que en esta sección hallarás la respuesta que buscas.

Solución:

No es una respuesta directa, pero recomendaría la pgfplotstable para tales tareas. Es bastante completo y las operaciones con archivos son muy convenientes. Puede parecer una exageración para esta pregunta específica, pero a medida que las tareas se vuelven más complicadas, revela su true potencial.

documentclassarticle
usepackagepgfplotstable,filecontents,booktabs

% Make csv in question
beginfilecontents*scientists2.csv
name,surname
Albert,Einstein
Marie,Curie
Thomas,Edison
endfilecontents*

pgfplotstableread[col sep=comma]scientists2.csvmytable

begindocument

begincenter
pgfplotstabletypeset[
string type,
columns/name/.style=column name=Name,
columns/surname/.style=column name=Surname,
% Row/column numbering starts from zero
every row 1 column 1/.style=postproc cell content/.style=@cell content=textbf##1,
every head row/.style=before row=toprule,after row=midrule,
every last row/.style=after row=toprule,
]mytable
endcenter

enddocument 

ingrese la descripción de la imagen aquí

También puedes hacer esto con el datatool paquete:

ingrese la descripción de la imagen aquí

Notas:

  • usé el xstring paquete para IfStrEq.

Código:

documentclassarticle
usepackagedatatool
usepackagebooktabs
usepackagexstring
usepackagexcolor

% Make csv in question
%usepackagefilecontents
beginfilecontents*scientists2.csv
name,surname,
Albert,Einstein,
Marie,Curie,
Thomas,Edison,
endfilecontents*

newcommand*FormatCell[1]%
    IfStrEq#1Curietextcolorred#1#1%
%

begindocument
DTLloaddb[keys=Name,Surname]myDBscientists2.csv
bigskip
begintabularl ltoprule
    textbfFirst Name & textbfLast Name\cmidrule1-2 
    DTLforeach*myDBName=Name,Surname=Surname%
        Name & FormatCellSurname \
    %
endtabular
enddocument

csvsimple versión 1.06 lanzado el 2012-11-08 hace exactamente lo que quieres. El siguiente código es su MWE original, siendo la única modificación textbfCurie en vez de Curie dentro del entorno de contenido del archivo.

ingrese la descripción de la imagen aquí

 documentclassarticle
 usepackagecsvsimple % requires csvsimple version 1.06 released 2012-11-08

 % Make csv in question
 beginfilecontents*scientists2.csv
 name,surname
 Albert,Einstein
 Marie,textbfCurie
 Thomas,Edison
 endfilecontents*

 begindocument

 begincenter
 csvreader[tabular=|l|l|,
     table head=hline textbf First Name & textbfLast Nmae \hline,
     late after line = \hline]%
 scientists2.csvname=name,surname=surname%
 name & surname%

 endcenter


 enddocument 

También vale la pena consultar la nueva sección “Código de macro dentro de los datos” en la documentación (p.21). El siguiente código ha sido tomado directamente de esta sección.

ingrese la descripción de la imagen aquí

 documentclassscrreprt
 usepackagetikz,csvsimple,filecontents
 begindocument 

  %-- file embedded for simplicity --
 beginfilecontents*macrodata.csv
 type,description,content
 M,A nice textbfformula,         $displaystyle intfrac1x = ln|x|+c$
 G,A textcolorredcolored ball, tikz shadedraw [shading=ball] (0,0) circle (.5cm);
 M,textbfAnother formula,        $displaystyle limlimits_ntoinfty frac1n=0$
 endfilecontents*
 %-- end embedded file --

 csvautotabularmacrodata.csv


 csvstylemy enumeratehead to column names


 beginenumerate
 csvreader[my enumerate]macrodata.csvitem description:parcontent
 endenumerate


 Now, formulas only:

 beginenumerate 
 csvreader[my enumerate,filter equal=typeM]macrodata.csv%
   item description:qquadcontent
 endenumerate



 enddocument

“Mega cool”, como dirían mis hijos :-).

Te mostramos comentarios y calificaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *