Ok, hier ist eine Lösung, die Excel oder ein anderes Tabellenkalkulationsprogramm beinhaltet, das CVS exportieren kann.
Sie müssen einen neu veröffentlichten Drittanbieterfilter mit dem Namen "csv2table" (<- GitHub-Repository) für Pandoc installieren .
Es ist auch als Standalone-Filter erhältlich .
Installieren Sie den eigenständigen Filter wie folgt:
mkdir $/bin wget https://gist.githubusercontent.com/baig/b69e3146251bd90d12e7/raw/d8c8171fbe0ad5543f8aaf0a134250b29c689e57/csv2table.hs \ -O $/bin/pandoc-csv2table.hs chmod a+x $/bin/pandoc-csv2table.hs export PATH=$/bin:$
Meine bevorzugte Installationsmethode ist jedoch über
cabal
:cabal update export PATH=$/.cabal/bin:$ cabal install cabal-install cabal install pandoc-csv2table
Lesen Sie die csv2table-Dokumentation .
Was kann man mit diesem Filter machen?
Sie können eine externe CSV-Datei in Ihren Markdown einfügen, indem Sie ...
... entweder das Bild mit der folgenden Syntax missbrauchen :
![](/path/to/file.csv)
... oder indem Sie die eingezäunte Codeblock- Syntax wie folgt missbrauchen :
```` {.table source="/path/to/file.csv" <list-of-attributes>} ````
... oder durch direktes Einfügen Ihrer CSV-Zeilen in den Abschnitt "Eingezäunte Tabellen":
```` {.table <list-of-attributes>} one,two,three 1,2,3 100,2000,55555 ````
Durch Aufrufen des Filters in der Pandoc-Befehlszeile wird
--filter=pandoc-csv2table
CSV in allen Ihren Ausgabeformaten in eine Tabelle konvertiert.Außerdem können Sie nahezu alle Formatierungen auf die von Pandoc unterstützten Tabellen anwenden:
- Verwenden Sie das Attribut
type="multiline"
, um eine zu erstellenmultiline_table
. - Verwenden Sie
type="pipe"
zum Erstellen einespipe_table
. - Verwenden Sie
type="simple"
zum Erstellen einessimple_table
. - Verwenden Sie
caption="My ***important*** caption for this table"
diese Option, um eine Tabellenüberschrift hinzuzufügen. (Dies kann die Markdown-Formatierung umfassen.) - Verwenden
header="no"
Sie diese Option, wenn Sie eine Tabelle ohne Spaltenüberschriften wünschen (Standardwert, falls nicht angegeben, istheader="yes"
). - Nun die gewünschte Funktion: Verwenden Sie
aligns=LRCDR
, um die Ausrichtung der Spalten (von links nach rechts) wieder nach links, rechts, zentriert, Standard und rechts zu ordnen.
- Verwenden Sie das Attribut
Beispiel
Betrachten Sie diese
my.csv
Datei:Time,"*Cash* Flow","Third column" 0,-500,loooooooooooong data field with many words 1,*100*, ***2***,`2000`,shorte **3**,30000,(second line is empty)
(Wie Sie sehen, verwende ich sogar Markdown-Markup für einige Datenfelder der CSV-Zeilen!)
Betrachten Sie diesen Markdown
my.md
:# Überschrift `` `{.table source =" ./ my.csv "aligns =" LRCR "type =" multiline "caption =" Some *** caption *** "} `` ``
Führen Sie diesen Befehl aus, um aus Ihrer CSV-Eingabe eine Markdown-Ausgabe mit mehreren Zeilen zu generieren:
pandoc my.md --filter = pandoc-csv2table -t markdown
Siehe diese Ausgabe:
Führen Sie diesen Befehl aus, um aus Ihrer CSV-Eingabe eine PDF-Ausgabe mit einer mehrzeiligen Tabelle zu generieren:
pandoc my.md --filter = pandoc-csv2table -o mein.pdf
Sehen Sie sich diese Ausgabe an (Screenshot):
Wenn Sie "Pipe-Tabellen" mit der ausrichtungsanzeigenden Doppelpunkt-Syntax generieren möchten, müssen Sie den Markdown sowie die Befehlszeile ein wenig ändern:
Ändern Sie Markdown, um es
type="pipe"
in die Tabellenformatierungsoptionen aufzunehmen:# Überschrift `` `` {.table source = "./ my.csv" aligns = "LRCR" type = "pipe" caption = "Some *** caption ***"} `` ``
Ändern Sie die Befehlszeile, um die
markdown_phpextra+table_captions
Ausgabe abzufragen :pandoc my.md --filter = pandoc-csv2table -t markdown_phpextra + table_captions
Sehen Sie die Ausgabe jetzt:
Das funktioniert natürlich auch mit allen anderen Ausgabeformaten!