Importieren von Tab-Getrennte Text-Datei mit Mehrzeiligen Zellen (in Excel oder Access)
Die tab-getrennte text-Datei, die ich versuche zu importieren, sieht wie folgt aus (4 Felder, Feld 3 ist mehrzeilig)... und über 100.000 Zeilen von Daten:
Unten ist nur ein Beispiel... aber bitte geben Sie eine Allgemeine Lösung, bei der der multiline text kann in mehrere Felder... wie sagen fld3, fld6 und fld7 von insgesamt 10 Felder.
Field 1 <tab> Field 2 <tab> Field 3.1
Field 3.2
Field 3.3<tab>Field 4
Field 1 <tab> Field 2 <tab> Field 3.1
Field 3.2
Field 3.3<tab>Field 4
Field 1 <tab> Field 2 <tab> Field 3.1
Field 3.2
Field 3.3<tab>Field 4
Aber, eigentlich, wenn es war, exportiert wurde zu der oben genannten text-Datei aus der Datenbank... es hatte 3 Zeilen... das sah dann so aus... 4 Felder. Feld 3 ist mehrzeilig.
Field 1 <tab> Field 2 <tab> Field 3.1(CR)Field 3.2(CR)Field 3.3<tab>Field 4
Field 1 <tab> Field 2 <tab> Field 3.1(CR)Field 3.2(CR)Field 3.3<tab>Field 4
Field 1 <tab> Field 2 <tab> Field 3.1(CR)Field 3.2(CR)Field 3.3<tab>Field 4
wo ist die Registerkarte, und (CR) carriage return. Beim Import der tab-getrennte text-Datei in Excel, ich möchte, dass alle 3 Linien in Feld 3 (Bereich 3.1, Feld 3.2 und Feld 3.3) werden in einer Zelle, aber multiline. Also im Grunde möchte ich excel zu ignorieren Wagenrücklauf mit in Feld 3. Wie mache ich das???
Für deine info... Die text Felder werden NICHT in doppelte Anführungszeichen... Bitte sagen Sie mir, was ist der beste Weg zu konvertieren nur-text-tab-getrennte text-Datei in Excel 4 Spalten wie diese:
kennt jemand eine Lösung. es würde sehr geschätzt werden.
Weiteren Kommentar
Bitte beachten Sie, dass das, was ich habe, ist nur die resultierende Text-Datei... siehe ganz oben auf dieser Nachricht.... mit text "- Feld 3.2" in Zeile 2, "Feld 3.3" und "Feld 4" in Zeile 3 mit der Trennung.
... Auch nicht unbedingt das Feld 3 wird immer multiline... kann es sein, multiline mit 2, 3 oder mehr Linien... oder auch nichts-oder single line. Feld 3 wird niemals eine mit in sich selbst.
Zusätzliche Kommentare Beispiel für eine Datei für jemand zu Test - Update 25Jun2013 09:05 UTC
pls beachten Sie kopieren und einfügen wird nicht funktionieren.. als tabs verloren sind.. müssen Sie es selbst.
Datei mit Anführungszeichen, um die multiline-Feld:
f1hdr f2hdr f3hdr
f11 "f12
part of f12" f13
f21 "f22part of f22
part f22
part f22
part f22" f23
f31 "f32aaa" f33
f41 "f42bbb" f43
Datei ohne Anführungszeichen, um die multiline-Feld:
f1hdr f2hdr f3hdr
f11 f12
part of f12 f13
f21 f22part of f22
part f22
part f22
part f22 f23
f31 f32aaa f33
f41 f42bbb f43
Öffnen Sie die Datei mit Anführungszeichen in Excel... Datei-Öffnen-Dialog... Halten Sie die Umschalttaste gedrückt... und Klicken Sie auf Öffnen.. zeigen Sie die Datei schön mit multiline.
Aber das öffnen der Datei ohne Anführungszeichen.. funktioniert nicht.. er bricht.
Ich habe keine Ahnung, warum Sie die Umschalttaste gedrückt halten funktioniert. Ich kannte das von hier: Importieren von mehrzeiligen csv-Dateien in Excel International
Nun.. es bleibt noch zu beantworten...
1), Wie Sie die Anführungszeichen um den text-Datei in einfacher Mode vor dem Import in Excel... Warum Shift works Öffnen? Was ist, wenn ich will, um die Kontrolle jedes getrennte Spalten mit text-import-Assistenten?
2), Wie Sie die Anführungszeichen um die Felder in SQL Server standardmäßig 2015. Dies ist zusätzlich zu den oben Q1. Wir müssen noch eine Lösung, wo wir nicht können, exportieren Sie die Datei erneut. Aber, für jeden neuen export.. könnte jemand user die Antwort von Q2.
3) andere Methoden, die vielleicht noch einfacher?
der export von sql-server-2015.. und die Ergebnisse werden in eine Datei geschrieben, von dort aus. ich habe gesehen, einige Male, wo ich Holen Sie sich ein Angebot rund um das ganze Feld string. auch dann ist es wirklich ein Schmerz. Sie können vorschlagen, zu mir "wie man es richtig exportieren in sql server". Aber selbst dann möchte ich noch mal eine Antwort für diese Frage, denn es ist so, dass dort, wo ich nicht beheben können, die Quelle... ich brauche einen Weg heraus, um die Daten bereinigt, wie in der Abbildung.... (Excel oder Access). Danke für deine Zeit... ich habe durch Ihre "über joseph" - Seite gerade jetzt auf Ihrer Seite... gute Arbeit dort.
ich sehe...hmmm...ok, ich denke ich habe eine Idee. Und vielen Dank für das feedback auf meiner Seite 🙂 ich weiß es zu schätzen
gibt es eine Möglichkeit zu sagen, wenn eine Zeile beendet hat? zum Beispiel, Sie haben
field 3.3<tab>field 4
, wird es immer eine Letzte Spalte ohne einen Zeilenumbruch in es?Ok. Ich denke, der einzige Weg ist, ein Programm schreiben in VBA zu machen, die Vorverarbeitung und die importieren. Sie müssen code schreiben, fürchte ich.
InformationsquelleAutor ihightower | 2013-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, was ich kam mit. Wenn Sie garantieren können der letzten Spalte wird niemals eine Zeilenschaltung, dann sollte diese Arbeit ok.
Was dies bedeutet ist, Lesen Sie die text-Datei in VBA und bringt es in die Arbeitsmappe. Sie müssen angeben, wie viele Felder zu erwarten (in dem test-Szenario 4). Dies ist, so dass Sie nachverfolgen können, Wann es bereit ist für den start einer neuen Zeile.
Es ist ein wenig verwirrend, da der Schlitten zurück, aber Schritt für Schritt durch den code, und ich denke, Sie werden in der Lage sein, um es herauszufinden. Lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben.
ich entschuldige mich, ich vermisste dieses detail. Lassen Sie mich sehen, ob ich etwas herausfinden.
es wurde eine neue Antwort
ich habe eine neue Antwort, die ich mir (ohne code).. kannst du pls überprüfen und kommentieren es auf die Verbesserung der Teil des führenden 0. Testen werde ich deine Antwort morgen bei der Arbeit. Ich danke Ihnen so sehr.
sichere Sache. lassen Sie mich wissen, wie es geht!
InformationsquelleAutor Joseph
zur Zeit, was ich Tat, war.. verwendet gvim (gleiche wie 'vi') und ersetzt alle
\t
mit"\t"
(dies ist, um die Felder eingewickelt in Anführungszeichen...dann.. wie z.B.:%s/\t/"\t"/g
\r\n
mit"\r
(dies ist das eigentliche Ende der Zeile zu haben, ein Zitat am Ende... dann z.B.:%s/\r\n/"\r/g
line start
^20
mit^"20
(dies ist für den Beginn der Zeile das erste Feld in Anführungszeichen... die Zeile beginnt mit 2013... so dass anstelle von mit mit dem "2013...) z.B.:%s/^2013/"2013/g
die Datei gespeichert als.. file.txt
Öffnen Sie Excel
Wählen Sie die Datei aus... und halten Sie die Umschalttaste gedrückt und klicken Sie auf "öffnen" (mit freundlicher Genehmigung von: Importieren von mehrzeiligen csv-Dateien in Excel International)
Alle Felder sind schön importiert (im Allgemeinen Format) und mehrzeilige korrekt verarbeitet werden und in richtigen Feldern.
Das ist wirklich wunderbar... Allerdings mit 1 Nachteil.
Einige der Felder sind text, aber mit führenden 0EN.. z.B.
'000327511'
oder'032'
.. und ich wollte die führende null intakt.. ohne excel-Konvertierung in Anzahl. Ich kann nicht erhalten, die führende 0 mit Hilfe der "shift + öffnen" - Methode.Wenn ich den normalen text-import-Assistent... dann die multiline-nicht, um zu arbeiten.. catch-22-situation. Schade!!!
.. Aber .. das ist eine schöne temporäre Lösung, bis jemand finden eine dauerhafte Lösung alle eins.
Kein code auf allen beteiligten... nur ein paar Tippfehler zu ersetzen mit vi und klicken Sie auf.. klicken..
Wünschte, jemand verbessern kann diese Methode leicht.
'
an der Vorderseite der Zahl. Excel erkennen können, um format, das im Klartext, sondern als eine Zahl.ja Ihren Kommentar für die nächste Zeit. danke.
Ich möchte zur Klärung dieser ein wenig auf was ich gefunden habe. Die Datei, die importiert werden müssen TXT-Erweiterung, nicht CSV. Die Datei sollte CRLF Zeilenenden. Es muss CRLF eingefügt zwischen Feldern, nicht nur CR ist gegeben durch ihightower. So eine Textzeile sieht aus wie '"Feld 1"<TAB>"Feld 2"<TAB>"Line1Field 3.1<CR><LF>Feld 3.2<CR><LF>Feld 3.3"<TAB>"Feld 4"<CR><LF>'
Auch nach dem import zeigt Excel jede Zeile in derselben Größe-es spielt keine autosize die mehrzeilige Zeilen - leicht genug, um zu befestigen, es sieht einfach falsch auf den ersten.
InformationsquelleAutor
Import in Libre Office Calc. Libre Office Calc nicht interpretieren Zeilenumbrüche zwischen zwei tabs als nächste Zeile Befehl. Der Inhalt nach dem Zeilenumbruch erscheint in der nächsten Zeile in der gleichen Zelle. Speichern Sie die Tabelle als ms-excel-xls/xlsx-format.
Ignorieren Sie die Warnung, die erscheint, bevor es gespeichert wird, auf Ihr eigenes Risiko und/oder proof-Lesen Sie die gleichen Tabellenblatt nach dem import. Während der Nachweis Lesen stellen Sie sicher, dass Sie mit Excel.
InformationsquelleAutor anotherperson1