Wie kann ich eine normale Textdatei in eine CSV-Datei konvertieren und in Excel importieren?

Ich habe eine Gruppe von Namen und Adressen, die ich in Outlook importieren möchte.

Im Moment habe ich sie in Excel importiert, aber alle Namen und Adressen befinden sich in einem langen Eintrag.

Alle sind bereits durch ein Komma getrennt.

Wie kann ich Excel dazu bringen, jeden "Wert" auszuwählen und in eine separate Zelle zu verschieben?

Bearbeiten: Ich hatte bereits versucht, eine Textdatei zu nehmen und als zu speichern.csv-Datei. Alle Kontakte werden jedoch in eine einzelne Zelle geladen.

Ich bin mit Excel 2003.

Dank.

Author: Xavierjazz, 2010-06-16

5 answers

Was Sie brauchen, ist nicht Excel. Excel und Calc (OO.o) können beide CSV als Tabellenkalkulationen öffnen, aber was Sie wollen, ist etwas, um die Textdatei in eine richtig formatierte CSV-Datei zu manipulieren.

Dafür möchten Sie einen guten Texteditor. Es gibt nur sehr wenige Texteditoren, mit denen Sie mehrzeilig suchen und ersetzen können (ich weiß nicht warum, da dies eine unglaublich nützliche Funktion ist und einfach zu implementieren ist). Aber ein sehr guter kostenloser Editor, der (sorta) diese Funktionalität hat, ist Notepad2. Es ist im Grunde eine aktualisierte Version von Windows' Standard-Notepad, aber nicht ganz so sperrig wie Notepad++. Sie können Windows Notepad durch Notepad2 oder Notepad++ ersetzen, aber das geht über den Rahmen dieser Antwort hinaus.

Nach der Installation von Notepad2:

  1. Öffnen Sie die Textdatei und drücken Sie Ctrl + H, um den Dialog Suchen & Ersetzen aufzurufen.
  2. Geben Sie ein Komma oder Komma und Leerzeichen in das Feld Search String ein.
  3. Jetzt werden Sie feststellen, dass das Feld Replace with: nur ein einzeilig. Das ist in Ordnung, da Notepad2 Regex sofort unterstützt. Aktivieren Sie also das Kontrollkästchen Regular expression search.
  4. Obwohl das obige Kontrollkästchen lautet, handelt es sich tatsächlich um Reguläre Ausdrücke suchen UND ersetzen-was bedeutet, dass Sie auch Regexps im Feld Replace verwenden können. Geben Sie also \n ein und drücken Sie Replace All.
  5. Dann speichern Sie einfach als *.csv und beenden. Wenn Sie es in Excel/Calc öffnen, sollte es jetzt eine Spalte von sein Namen/e-mails, vor.

Bearbeiten:

Wenn Sie Ihre Frage erneut lesen, fällt mir ein, dass Sie möglicherweise 2 Spalten möchten: 1 für E-Mail, eine für Name. Wenn das der Fall ist, ist es etwas schwieriger, als nur alle Kommas durch Zeilenumbrüche zu ersetzen. Aber keine Angst! Regexps sind hier, um noch einmal zu helfen:

  1. Öffnen Sie die ursprüngliche Textdatei.
  2. Rufen Sie den Dialog Suchen & Ersetzen auf.
  3. Geben Sie dies in das Suchfeld ein: \([^,]+\),\([^,]+\),
  4. Geben Sie dies ein in die Ersatzbox: \1,\2\n
  5. Drücken Sie Replace All.
  6. {[32],} Speichern als *.csv und beenden.

Sie können optional die Regexps ändern, um ein Leerzeichen nach den Kommas zu setzen, wenn die Textdatei so formatiert ist oder wie Sie formatiert werden soll, z. B.

first last, [email protected], bob builder, [email protected], foo...
versus:
first last,[email protected],bob builder,[email protected],foo...

Edit2:

Für den Notepad++ - Geschmack von regexp müssen Sie Gruppierungen nicht mit Backslashes umgehen, daher lautet die entsprechende Suchregexp:

([^,]+),([^,]+),

Wenn es leere E-Mails gibt Adressen:

([^,]+),([^,]*),     // assuming that the email is the second parameter
([^,]*),([^,]+),     // make the first parameter optional

Edit3:

Um mit völlig fehlenden Feldern umzugehen, wird es etwas chaotisch. Dies liegt daran, dass weder Notepad2 noch Notepad++ optionale Gruppen oder negative Lookbehinds unterstützen. Also müssen wir 2 verschiedene Regexps anwenden:

  1. Dies nimmt alle aufeinanderfolgenden E-Mails und injiziert ein leeres Feld (, ,) zwischen ihnen. Führen Sie dies (mit Replace All) mehrmals aus, bis Sie keine Übereinstimmungen mehr erhalten.:

    ([^,]+@[^,]+), ([^,]+@[^,]+),*   // search for
    \1, , \2,                        // replace
    
  2. Fügen Sie das zusätzliche Leer manuell hinzu feld am Anfang oder Ende des Dokuments bei Bedarf.

  3. Ersetzen Sie je nachdem, ob die E-Mail an erster Stelle steht oder der Name an erster Stelle steht:

    ([^,]+), ([^,]*),\s     // email first
    ([^,]*), ([^,]+),\s     // name first
    

    Mit:

    \1, \2\n
    

Und das sollte es tun. Das obige \s ist nur ein Leerzeichen. Sie können dort entweder ein Leerzeichen setzen oder \s in den regexp schreiben.

Hinweis: Normalerweise versuche ich zu vermeiden, dass eine Person aufgefordert wird, einen neuen Text - /Grafik - /Audio - /Videoeditor zu installieren, nur um ein bestimmtes Problem zu lösen problem, aber dies ist eine Instanz, in der: 1.) es ist ein sehr leicht (~300KB) kostenloses Programm, mit dem ich wissen funktioniert; 2.) es ist auch unglaublich nützlich und fast jeder, der nicht bereits installiert ist ein notepad-Ersatz, wie Notepad2/Notepad++ nutzen würde, es zu installieren. Tatsächlich installiere ich es auf jedem Windows-Computer, den ich verwende, und auch auf jeder Windows-Workstation bei meiner Arbeit.

 2
Author: Lèse majesté,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-06-17 17:07:12

CSV ist nichts anderes als eine ausgefallene Art zu sagen:" Klartext durch Kommas getrennt", daher der Name Comma Separated Values.

Um die Datei in das CSV-Format zu konvertieren, ändern Sie die Erweiterung von .txt zu .csv.

Excel weiß, dass Dateien mit dem .csv-Dateien sind, gut, kommagetrennte Werte, und es wird jeden Wert in seine eigene Zelle setzen.

Zum Beispiel habe ich mit dieser Datei angefangen:

a,1,bla,10
2,r,sasdfa,1as0

Ich habe es als bla.csv gespeichert und in Excel geöffnet. So sieht es aus:

beispiel für CSV-Datei

Meine Installation ist zufällig neu und ich habe keine Änderungen am Excel-Setup vorgenommen, um CSV-Dateien automatisch zu öffnen.

 5
Author: Nathan Fellman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-19 05:20:14

Für das, was es wert ist, befindet sich das Tool in Excel 2003 immer noch im Datenmenü, heißt aber "Text in Spalten" und ermöglicht die Auswahl des Trennzeichens.

 3
Author: Michael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-06-16 16:45:14

Wählen Sie in Excel 2007 die erste Zelle aus, wechseln Sie zur Registerkarte data und klicken Sie auf Convert text to table. Ein Fenster erscheint, wählen Sie delimited und klicken Sie auf Weiter. Wählen Sie nun das rechte Trennzeichen (in Ihrem Fall Komma) und klicken Sie auf Weiter. Klicken Sie auf fertig stellen.

Schauen Sie hier auch für eine eleborate Erklärung: https://ask.qut.edu.au/app/answers/detail/a_id/2076/~/how-to%3A-split-delimited-text-into-multiple-cells-in-excel-2007.

 2
Author: Pylsa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-06-16 16:07:53

Ich schrieb ein kleines PHP-Skript für Sie, geben Sie die einzelne", " getrennte Zeile in hier und klicken Sie auf Senden. Wählen Sie die Liste aus, kopieren Sie sie und fügen Sie sie in die erste Zelle von Excel ein.

 -1
Author: Pylsa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-06-16 20:56:17