Browse Source

Add a csv to latex table script

Samuel W. Flint 3 years ago
parent
commit
6cca4405e0
2 changed files with 40 additions and 0 deletions
  1. 20 0
      csv2tbl
  2. 20 0
      csv2tbl.awk

+ 20 - 0
csv2tbl

@@ -0,0 +1,20 @@
+#!/bin/sh
+# csv2tbl fieldSep format in out
+
+if [ $# -lt 4 ] ; then
+    echo "$0 fieldSep tblFormat inFile outFile" >&2
+    echo >&2
+    exit 1
+fi
+
+FIELD_SEP=$1
+TABLE_FORMAT=$2
+IN_FILE=$3
+OUT_FILE=$4
+
+AWK_FILE=$(dirname $0)/csv2tbl.awk
+
+awk -F"${FIELD_SEP}" \
+    -v tblFormat="${TABLE_FORMAT}" \
+    -f "${AWK_FILE}" \
+    ${IN_FILE} > ${OUT_FILE}

+ 20 - 0
csv2tbl.awk

@@ -0,0 +1,20 @@
+BEGIN {
+    OFS=" & ";
+    ORS=" \\\\\n";
+    printf "\\begin{tabular}{%s}\n", tblFormat;
+}
+
+NR==1 {
+    for(i = 1 ; i <= NF ; i ++) {
+        $i = sprintf( "\\textbf{%s}", $i);
+    }
+    print $0
+    printf "\\midrule\n";
+}
+
+NR != 1 { $1=$1 ;print $0 }
+
+END {
+    printf "\\bottomrule\n";
+    printf "\\end{tabular}\n";
+}