csv2wp ist ein kleines Script zum Umwandlung von Tabellen aus dem CSV-Format in eine Wiki-Tabelle. Der Sinn ist es, den Import von Tabellen aus Tabellenkalkulationsprogrammen wie z.B. Excel zu erleichtern. csv2wp ist in PHP geschrieben und kann somit über jeden Webbrowser bedient werden:
Das Programm ist noch sehr experimentell und nicht ausführlich getestet. Kommentare und Anregungen bitte auf die Diskussionsseite von csv2wp, oder auf meine Diskussionsseite.
Der Quellcode dieses Programms ist unter der GPL freigegeben. Er kann hier heruntergeladen werden (als TGZ, 4,7KB): csv2wp Quellcode.
Kurzanweisung
BearbeitenDie Umwandlung der CSV-Daten erfordert nur wenige Schritte:
- Die CSV-Daten in das große gelbliche Textfeld oben eingeben. Dafür gibt es zwei Möglichkeiten:
- Daten per Copy&paste aus einem Texteditor in das Feld kopieren. Dabei ist das Betriebssystem und/oder der Browser dafür zuständig, dass Sonderzeichen (Umlaute, etc.) korrekt umgewandelt werden.
- Die Daten aus einer Datei Hochladen. Dafür steht unterhalb des Textfeldes das entsprechende Upload-Feld zur Verfügung. Dabei muss der Zeichensatz für die Datei angegeben werden, so dass Sonderzeichen korrekt umgewandelt werden. In Deutschland sind die üblichen Zeichensätze CP-1250 oder ISO-8859-15 (Windows), ISO-8859-1 oder UTF-8 (Linux), MacRoman (Macintosh). Bitte nicht vergessen den Knopf mit der Aufschrift "Upload File" anzuklicken. Der hochgeladene Text sollte dann in dem Textfeld erscheinen.
- Trennzeichen festlegen und andere Einstellungen vornehmen. Die voreingestellen Werte entsprechen dem, was von den meisten Programmen (z.B. Excel) verwendet wird. Für mehr Details, siehe unten.
- Knopf für die Umwandlung anklicken. Für die Verwendung in der Wikipedia (oder einem anderen Wiki) sollte das WikiMedia-Format gewählt werden, für die Verwendung in anderen Webseiten das HTML-Format.
- Das Ergebnis der Konvertierung wird dann im Browser angezeigt. Die Daten können jetzt wie jede Webseite gespeichert werden (mit "Seite Speichern"). Im Fall des WikiMedia-Formats kann man den Wiki-Code auch einfach per Copy&paste übernehmen. Im Fall von HTML ist das nicht der Fall, weil das Ergebnis dann schon vom Browser als HTML erkannt und entsprechend dargestellt wird - man kann also nicht ohne weiteres den HTML-Quellcode kopieren.
Importieren aus Excel
Bearbeiten- In Excel die Tabelle auswählen (es kann immer nur eine Tabelle auf einmal exportiert werden). Dann "Speichern unter" wählen und als Format CSV angeben.
- Die Datei wie oben beschrieben in das Konverter-Formular einfügen: Entweder, indem man sie in einem Texteditor (z.B. Notepad) öffnet, oder indem man sie gleich als Datei hochlädt.
- Weiter wie oben beschrieben.
Details
BearbeitenDieser Abschnitt beschreibt die verschiedenen Felder und Einstellungen von csv2wp. Die Unterüberschriften entsprechen den Überschriften auf der csv2wp-seite. Um die Bedeutung der einzelnen Einstellungen zu verstehen ist es hinfreich den Artikel über CSV-Dateien zu lesen.
CSV Data
BearbeitenIn dieses Feld werden die zu konvertierenden CSV-Daten eingetragen. Das kann manuell (bzw. per Copy&Paste) geschehen, oder indem man eine Datei wie im folgenden beschrieben hochlädt.
Upload
BearbeitenDieses Feld dient dem heraufladen einer CSV-Datei, so dass die Daten aus der Datei in das Feld CSV-Daten eingefügt werden. Zum Auswählen der Datei kann man den Knopf rechts neben dem Feld benutzen (Je nach Browser mit "Datei Auswählen", "Browse" oder Ähnlichem beschriftet).
Das zweite Feld dient der Auswahl des Zeichensatzes für die Datei: Wird dieser nicht richtig angegeben, so werden Sonderzeichen (wie z.B. Umlaute) nicht richtig übertragen. In Deutschland sind meistens die folgenden Zeichensätze eingestellt: Für Windows CP-1250, für Mac MacRoman, für Linux ISO-8859-1.
Nach auswählen von Datei und Zeichensatz kann die Datei mit dem Knopf Upload ganz rechts heraufgeladen werden. Die Daten werden dann in das Feld CSV Data eingefügt. Sollten dort Umlaute nicht richtig angezeigt werden, so wurde vermutlich der falsche Zeichensatz ausgewählt und die Datei muss erneut heraufgeladen werden.
Separator Character
BearbeitenDiese Einstellung bestimmt, welches Zeichen zur Trennung der einzelnen Datenfelder verwendet wurde:
- Comma (",") (voreinstellung) - Das ist das traditionelle und am weitesten verbeitete Trennzeichen.
- Semicolon (";")
- Pipe ("|")
- Colon (":")
- Octothorpe ("#")
- TAB - das Tabulator-Zeichen, ebenfalls weit verbreitet
- Other - diese Option bietet ein zusätzliches Eingabefeld, in dem ein anderes Trennzeichen angegeben werden kann.
Quotation Characters
BearbeitenDiese Einstellung bestimmt, welche Zeichen zum Zusammenfassen von Feldern benutzt werden, die Sonderzeichen enthalten. Zwischen zwei Quotation Characters ist die besondere Bedeutung der Separator Characters und sogar der Zeilenumbrüche aufgehoben.
- Doubl-Quote ('"') (Voreinstellung) - Doppelte Anführungszeichen sind das traditionelle und am weitesten verbreitete Quotation Character.
- Quotes ('"' and ''') - Erlaubt auch einfache Anführungszeichen. Ein Block, der mit einfachen Anführungszeichen begonnen wurde, muss auch mit einem einfachen Anführungszeichen enden - die Bedeutung der doppelten Anführungszeichen ist innerhalb des Blockes aufgehoben. Für Blöcke mit doppelten Anführungszeichen gilt umgekehrt das gleiche.
- Other: - diese Option bietet ein zusätzliches Eingabefeld, in dem ein oder mehrere andere Quotation Characters angegeben werden können.
- None (use Escape-Character only) - Benutze keine Quotation Characters - Sonderzeichen in Feldern müssen dann mit einem Escape Character geschützt werden.
Es folgt noch eine zusätzliche, von den anderen unabhängige Option:
- No traditional escaping by doubling quotes. - diese Option steuert, wie Quotation Characters selbst ein einem gequoteten Block dargestellt werden. Traditionell geschieht dies, indem das Anführungszeichen verdoppelt wird - wird aber diese Option aktiviert, so muss das Anführungszeichen durch das Escape Character geschützt werden.
Escape Character
Bearbeiten- Backslash ("\") - wird in vielen Programmiersprachen als Escape verwendet.
- Questionmark ("?")
- Carat ("^") - wird auf manchen Terminals als Escape verwendet.
- Octothorpe ("#")
- Other: - diese Option bietet ein zusätzliches Eingabefeld, in dem ein anderes Escape Character angegeben werden kann.
- None (use Quoting only) (voreinstellung) - Benutze kein Escape Character - sonderzeichen werden immer über Blöcke zwischen Quotation Characters geschützt, die Anführungszeichen selbst werden durch Doppelung dargestellt. Das ist die traditionelle vorgehensweise für CSV.
Convert Linebreaks in Cells
BearbeitenDiese Einstellungen bestimmt, wie Daten, die einen Zeilenumbruch enthalten, gehandhabt werden. Die Zeilenumbrüche einfach zu übernehmen mach wenig Sinn, da in der Wiki-Syntax Zeilenumbrüche eine spezielle Bedeutung haben, und in HTML gar keine.
- Replace with space (Voreinstellung) - Ersetze Zeilenumbrüche mit Leerzeichen. Dadurch werden sie praktisch ignoriert.
- Replace with <br> - Ersetze Zeilenumbrüche mit <br>-tags. Dadurch wird ein Zeilenumbruch (aber kein Absatz) an dieser Stelle erzwungen.
- Replace with - diese Option bietet ein zusätzliches Eingabefeld, in dem ein anderes Zeichen angegeben werden kann, mit dem Zeilenumbrüche ersetzt werden.
Convert Special Characters
BearbeitenDiese Einstellung bestimmt, wie Zeichen, die eine spezielle Bedeutung haben, behandelt werden.
- Do not convert (table contains code) - keine Konvertierung. Das ist dann sinnvoll, wenn die Originaltabelle bereits Markup enthält, also Formatierungszeichen für Wiki- oder HTML-Syntax.
- Protect HTML-Special characters (but not quotes) (voreinstellung) - schütze Zeichen, die in HTML eine spezielle Bedeutung haben so, dass sie als normale Zeichen angezeigt werden.
- Protect XML-Special characters (including all quotes) - schütze Zeichen, die in XML (bzw. in XHTML) eine spezielle Bedeutung haben so, dass sie als normale Zeichen angezeigt werden. Das ist ähnlich zu der vorherigen Option, aber etwas strenger.
- Protect WikiMedia constructs and HTML-Markup - schütze Zeichen, die in HTML oder in Wiki-Syntax eine spezielle Bedeutung haben so, dass sie als normale Zeichen angezeigt werden. Das bezieht sich auf Konstrukte wie [[...]], {{...}}, ''...'', etc.
HTML-Attributes
BearbeitenHier kann man HTML-Attribute festlegen, die auf die Ausgabe angewendet werden sollen. Das ist besonders sinnvoll für das style="xxx" Attribut, mit dem sich das Aussehen der Tabelle definieren lässt. Ein anderes Beispiel wäre align="right" im for each cell Feld: das richtet alle Zellen rechtsbündig aus.
- for the table - die hier angegebenen Attribute werden auf die Tabelle als solches angewendet.
- for each cell - die hier angegebenen Attribute werden auf jede Zelle einzeln angewendet.
Output Encoding
BearbeitenGibt an, in welchem Zeichensatz die Ausgabe erfolgen soll. Für die deutsche Wikipedia ist UTF-8 korrekt, das ist die Voreinstellung. Übrigens: Wenn das Resultat per Copy&paste verwendet wird, mach diese Angabe eigentlich keinen Unterschied - der Browser ist für dann die Konvertierung zuständig.
as binary download
BearbeitenWenn diese Option gewählt ist wird der Browser gezwungen, die Daten als Binärdatei zu empfangen - die kann dann nur direkt heruntergeladen werden, der Text wird vom Browser nicht angezeigt oder konvertiert. Das ist nützlich, wenn man die Daten in einem bestimmten Zeichensatz speichern will und der Browser dabei Probleme macht. Ausserdem erspart es den Schritt "Speichern unter..." (siehe unten).
Convert to MediaWiki
BearbeitenKonvertiert den Inhalt des CSV Data Feldes entsprechend den Einstellungen in das MediaWiki-Format für Tabellen (Pipe-Syntax). Das Resultat wird entweder als Text im Browserfenster angezeigt, oder, wenn "as binary download" aktiviert war, zum herunterladen angeboten. Wenn man sich die Daten anzeigen lässt, kann man sie mit Copy&paste weiter verwenden, oder indem man die Seite in eine Datei speichert (je nach Browser und Sprache mit "Save Page", "Save as", "Seite Speichern", "Speichern unter" oder Ähnlichem).
Convert to HTML
BearbeitenKonvertiert den Inhalt des CSV Data Feldes entsprechend der Einstellungen in eine HTML-Tabelle. Das Resultat wird entweder als HTML-Quelltext im Browserfenster angezeigt, oder, wenn "as binary download" aktiviert war, zum Herunterladen angeboten. Wenn man sich die Daten anzeigen lässt, kann man sie mit Copy&paste weiter verwenden, oder indem man die Seite in eine Datei speichert (je nach Browser und Sprache mit "Save Page", "Save as", "Seite Speichern", "Speichern unter" oder Ähnlichem).
show preview
BearbeitenWenn diese Option aktiviert ist (und "as binary download" nicht), dann wird die erzeugte HTML-Tabelle nicht als Quellcode, sondern als hübsch formatierte Tabelle angezeigt. Das ist ganz nützlich, um mit verschiedenen Formatierungen zu spielen. Man kann die Tabelle auch direkt aus der Vorschau speichern (je nach Browser und Sprache mit "Save Page", "Save as", "Seite Speichern", "Speichern unter" oder Ähnlichem).
To Do
Bearbeiten- der Benutzer sollte angeben können, welche Spalten exportiert werden sollen.
- der Benutzer sollte angeben können, in welcher Reihenfolge die Spalten exportiert werden sollen.
- Zellen-Attribute sollten pro Spalte angegeben werden können.
- Export zu normalisiertem CSV
- Im HTML-Modus, erzeuge a) eine ganze Seite, b) eine vollständige Tabelle, c) nur Zeilen und Zellen
- interpretiere die erste Zeile optional als Header
- Im HTML-Modus, Optionen zum Umwandeln nach HTML 4.01 oder XHTML 1.0.
- Wiki-Tabellen aus Wiki nach CSV exportieren, damit sie (z.B. mit Excel) bearbeitet und dann nach Wiki zurücktransportiert werden können.