Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CSV Datei automatisiert bearbeiten ergänzen

CSV Datei automatisiert bearbeiten ergänzen
Mac
Hallo,
ich habe eine vielleicht simple aber für mich aktuell unlösbare Aufgabe:
1. Ich erhalte täglich eine kommagetrennte CSV Datei zum Import in eine separate Datenbank
2. Diese CSV Datei enthält 5 "Werte" pro Zeile (kommagetrennt) - Der erste Wert ist ein 15 stelliger numerischer Wert
3. Dieser Wert soll nach der Vorgabe - (vergleichbar mit =LINKS(A2;3)&RECHTS(A2;7) - verkürzt werden und anschließend jeweils als 6ter Wert pro Zeile wieder ergänzt werden
4.Ergebnis speichern (ruhig in dieselbe Datei aber unbedingt als CSV)
Ich denke das geht sicherlich mit VBA - von dem ich leider keine Ahnung habe.
Das ganze soll täglich automatisert per Script ablaufen...
Hat jemand eine Idee?
Gruß
Mac
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: CSV Datei automatisiert bearbeiten ergänzen
20.01.2011 13:03:51
Josef

Hallo Mac,
das geht z. B. so.

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub editCSV()
  Dim strFile As String, strTmpFile As String
  Dim strOrg As String, vntTmp As Variant, strNew As String
  Dim ff1 As Integer, ff2 As Integer
  
  strFile = "E:\Forum\test.csv"
  
  
  If Dir(strFile, vbNormal) <> "" Then
    strTmpFile = Environ("TEMP") & "\tmp.csv"
    ff1 = FreeFile
    Open strFile For Input As ff1
    ff2 = FreeFile
    Open strTmpFile For Output As ff2
    Do While Not EOF(ff1)
      Input #ff1, strOrg
      vntTmp = Split(strOrg, ";")
      strNew = strOrg & ";" & Left(vntTmp(0), 3) & Right(vntTmp(0), 7)
      Print #ff2, strNew
      strNew = ""
    Loop
    Close ff2
    Close ff1
    Kill strFile
    Name strTmpFile As strFile
  Else
    MsgBox "Datei nicht gefunden!"
  End If
End Sub

Gruß Sepp

Anzeige
AW: CSV Datei automatisiert bearbeiten ergänzen
20.01.2011 14:59:18
Mac
Hallo Sepp,
super, vielen herzlichen Dank!!
Genau das habe ich gesucht.
Gruß
Mac
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

CSV-Datei automatisiert bearbeiten und speichern


Schritt-für-Schritt-Anleitung

Um eine CSV-Datei automatisiert zu bearbeiten und zu speichern, kannst Du ein VBA-Skript verwenden. Hier ist eine Anleitung, wie Du dies umsetzen kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Option Explicit

Sub editCSV()
    Dim strFile As String, strTmpFile As String
    Dim strOrg As String, vntTmp As Variant, strNew As String
    Dim ff1 As Integer, ff2 As Integer

    strFile = "E:\Forum\test.csv" ' Pfad zur CSV-Datei

    If Dir(strFile, vbNormal) <> "" Then
        strTmpFile = Environ("TEMP") & "\tmp.csv"
        ff1 = FreeFile
        Open strFile For Input As ff1
        ff2 = FreeFile
        Open strTmpFile For Output As ff2

        Do While Not EOF(ff1)
            Input #ff1, strOrg
            vntTmp = Split(strOrg, ";")
            strNew = strOrg & ";" & Left(vntTmp(0), 3) & Right(vntTmp(0), 7)
            Print #ff2, strNew
            strNew = ""
        Loop

        Close ff2
        Close ff1
        Kill strFile
        Name strTmpFile As strFile
    Else
        MsgBox "Datei nicht gefunden!"
    End If
End Sub
  1. Passe den Pfad in der Zeile strFile = "E:\Forum\test.csv" an, sodass er auf die CSV-Datei verweist, die Du bearbeiten möchtest.
  2. Schließe den VBA-Editor und führe das Skript aus, indem Du zurück zu Excel gehst und ALT + F8 drückst, um das Makro editCSV auszuwählen und zu starten.

Häufige Fehler und Lösungen

  • Datei nicht gefunden: Stelle sicher, dass der angegebene Pfad zur CSV-Datei korrekt ist und die Datei tatsächlich existiert.
  • Zugriffsprobleme: Überprüfe, ob Du die notwendigen Berechtigungen hast, um die Datei zu bearbeiten und zu speichern.
  • Formatierungsprobleme: Wenn die CSV-Datei nicht korrekt geöffnet wird, könnte es an falschen Trennzeichen liegen. Stelle sicher, dass das Trennzeichen im Code (z. B. ";") mit dem in der Datei übereinstimmt.

Alternative Methoden

Falls Du die CSV-Datei bearbeiten möchtest, ohne Excel zu verwenden, kannst Du auch Tools wie Notepad++, Python oder spezialisierte CSV-Editoren nutzen. Diese bieten oft umfangreiche Funktionen zur Bearbeitung und Speicherung von CSV-Dateien.

import pandas as pd

# CSV-Datei einlesen
df = pd.read_csv('test.csv', header=None)

# Bearbeitung: Erster Wert verkürzen und als neuen Wert hinzufügen
df[5] = df[0].str[:3] + df[0].str[-7:]

# Ergebnis speichern
df.to_csv('test.csv', header=False, index=False)

Praktische Beispiele

Hier ein Beispiel, wie die CSV-Datei nach der Bearbeitung aussehen könnte:

Ursprüngliche CSV-Datei:

123456789012345;Wert1;Wert2;Wert3;Wert4
234567890123456;WertA;WertB;WertC;WertD

Nach der Bearbeitung:

123456789012345;Wert1;Wert2;Wert3;Wert4;123456345
234567890123456;WertA;WertB;WertC;WertD;234567456

Du kannst sehen, dass der verkürzte Wert nun als 6ter Wert pro Zeile hinzugefügt wurde.


Tipps für Profis

  • Verwende die Funktion Application.OnTime, um das Makro zu einem bestimmten Zeitpunkt automatisch auszuführen, wenn Du die CSV-Datei regelmäßig bearbeiten möchtest.
  • Stelle sicher, dass Du immer eine Sicherungskopie Deiner CSV-Datei hast, bevor Du sie bearbeitest, um Datenverlust zu vermeiden.
  • Experimentiere mit verschiedenen Trennzeichen, um die CSV-Datei optimal zu bearbeiten und an Deine Bedürfnisse anzupassen.

FAQ: Häufige Fragen

1. Kann ich die CSV-Datei auch in Excel bearbeiten? Ja, Du kannst die CSV-Datei in Excel öffnen, aber achte darauf, dass Du sie nach der Bearbeitung wieder im CSV-Format speicherst.

2. Gibt es eine Möglichkeit, CSV-Dateien ohne VBA zu bearbeiten? Ja, Du kannst auch Python oder spezialisierte CSV-Editoren verwenden, um CSV-Dateien zu bearbeiten, ohne Excel zu nutzen.

3. Wie kann ich die CSV-Datei in ein Excel-Format umwandeln? Du kannst die CSV-Datei in Excel öffnen und dann Datei > Speichern unter wählen, um die Datei im Excel-Format (.xlsx) zu speichern.

4. Was mache ich, wenn ich keine VBA-Kenntnisse habe? Wenn Du keine VBA-Kenntnisse hast, kannst Du Alternativen wie Python oder CSV-Editoren verwenden, die eine benutzerfreundliche Oberfläche bieten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige