miércoles, agosto 10, 2011

csv table to rst table -- python <3

update: roberto alsina sabe! :D hay una directiva no muy conocida en reST que permite hacer lo que hice (csv-table), y anda muy bonito en el wiki de github, dejo el codigo abajo porque es codigo python muy bonito :P

problema, documentar estructura de tablas sql en algun lado

preferiblemente:

  * formato editable con editor de texto
  * versionable
  * facil de escribir y bonito de leer

la forma mas facil de escribir es algo asi como un csv, pero la forma mas facil de leer es algun formato tabular, el wiki de github soporta varios markup pero el markup para tablas siempre es un perno, asi que elegi escribir un conversor de csv a tablas restructured text.

el resultado esta aca



ejemplo:

$ cat personas.csv                                           
dni, nombre, apellido, observacion
1, bob, esponja, vive en una pinia debajo del mar
2, patricio, estrella, amigo de bob que perno seria tener que escribir el markup para una columna tan larga no?
$ python csv2table.py personas.csv > tablas.rst                                    
$ echo >> tablas.rst
$ python csv2table.py personas.csv "Personas con titulo (la tabla no las personas)" >> tablas.rst
$ rst2html tablas.rst > tablas.html

resultado rst (si, rompi todos los estilos de la tierra):

=== ========= ========= ========================================================================================= 
dni  nombre    apellido  observacion                                                                              
=== ========= ========= ========================================================================================= 
1    bob       esponja   vive en una pinia debajo del mar                                                         
2    patricio  estrella  amigo de bob que perno seria tener que escribir el markup para una columna tan larga no? 
=== ========= ========= ========================================================================================= 

Personas con titulo (la tabla no las personas)
==============================================

=== ========= ========= ========================================================================================= 
dni  nombre    apellido  observacion                                                                              
=== ========= ========= ========================================================================================= 
1    bob       esponja   vive en una pinia debajo del mar                                                         
2    patricio  estrella  amigo de bob que perno seria tener que escribir el markup para una columna tan larga no? 
=== ========= ========= ========================================================================================= 


resultado html:

dni nombre apellido observacion
1 bob esponja vive en una pinia debajo del mar
2 patricio estrella amigo de bob que perno seria tener que escribir el markup para una columna tan larga no?

Personas con titulo (la tabla no las personas)

dni nombre apellido observacion
1 bob esponja vive en una pinia debajo del mar
2 patricio estrella amigo de bob que perno seria tener que escribir el markup para una columna tan larga no?

No hay comentarios.:

Seguidores

Archivo del Blog