Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Import von Daten aus diversen *.txt Files in eine Datei
zurück: verzeichnisstruktur suchen weiter: Alle Mappen drucken, die ein x in Zelle A1 haben Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
MrMatze
VB...Waaaas?


Verfasst am:
26. März 2014, 18:25
Rufname: Matze

Import von Daten aus diversen *.txt Files in eine Datei - Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Hallo zusammen,

ich versuche seit längerem mit den Lösungsansätzen die ich hier im Forum gefunden habe mein Problem zu lösen aber leider klappt es bisher nicht. Darum frage ich jetzt doch mal.

Problem: Ich habe einen Ordner mit diversen *.txt Dateien. In diesen Datein sind Daten in der folgenden Form gespreichert
Code:

Index:       Abszisse:       Ordinate:
(:-
    0       -0.040000        0.000000
    1       -0.036000        0.011321
    2       -0.032000        0.018042
    3       -0.028000        0.022462
    4       -0.024000        0.031664
    5       -0.020000        0.045463
    6       -0.016000        0.052256
    7       -0.012000        0.052383
    8       -0.008000        0.054204
    9       -0.004000        0.055701
   10        0.000000        0.048458


Dies startet immer bei Zeile 26, endet aber in verschiedenen Zeilen. Allerdings Immer mit dem selben Zeichen (sieht aus wie ein Smilie):
Code:

  XXX        0.560000       92.569871
:-)


Das war aber noch nicht alles.. Die zweite Spalte (Abzisse) gibt mir immer eine Zeit aus, diese sollte in jeder Spalte der Zieldatei mit dem Wert 0,000000 starten. Da der Vorlauf aber in jeder *.txt Datei anders ist, ist dieser bestimmte Wert nicht immer in der gleichen Zeile. Alle negativen Zeiten brauche ich nicht in meiner Betrachtung, darum könnten die entfallen.

Achja und die Trennzeichen (.) muessten (,) werden. Embarassed

Mein Wunsch ist es eine Datei zu erzeugen in der alle Werte nebeneinander aufgeführt werden, immer analog des Dateinames benannt.

Bsp.:

Quelle 1 = AAA_14-TK-01_80.txt
Quelle 2 = BBB_14-TK-23_-35.txt

Ziel sollte was in der Form sein:

Lfd.Nr. | Time(Abzisse) | AAA_14-TK-01_80 | BBB_14-TK-23_-35 | .........
1 | 0.000000 | 0.048458 | 0.055878
.
.
.

Vielleicht kann mir dabei ja jemand helfen..

Vielen Dank schonmal!
Phelan XLPH
Fortgeschritten


Verfasst am:
26. März 2014, 18:59
Rufname: Phelan


AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Hallo,

Zitat:
Die zweite Spalte (Abzisse) gibt mir immer eine Zeit aus, diese sollte in jeder Spalte der Zieldatei mit dem Wert 0,000000 starten.


Hier gibt es aber nur eine Abzisse?!
Zitat:
Lfd.Nr. | Time(Abzisse) | AAA_14-TK-01_80 | BBB_14-TK-23_-35 | .........
1 | 0.000000 | 0.048458 | 0.055878
.
.

_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
MrMatze
VB...Waaaas?


Verfasst am:
27. März 2014, 11:48
Rufname: Matze

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Hallo

Da hab ich mich wohl nicht richtig klar ausgedrückt.. Ist irgendwie auch doof zu beschreiben.

Also jede einzelne TXT Datei hat 3 Spalten Index,Abszisse,Ordinate. Die Abszisse gibt den für mich relevanten Zeitpunkt vor. In jeder TXT Datei startet die Abszisse mit einem anderen Wert. In meinem Beispiel bei -0.040000 - in der nächsten Datei startet die Abszisse aber zB mit -0.003541. Das führt dazu, dass der Index nicht immer dem gleichen Abszissenwert entspricht. In meinem Beispiel : Index 10 = Abszissenwert 0.000000 / nächste Datei: Index 10 = Abszissenwert 1.578784

Mein Ziel ist es in der Ergebnisdatei eine Vergleichbare Tabelle zu erzeugen die in der ersten oder zweiten Spalte einmal die Abszissenwerte (startend mit 0.000000) und daneben aufgereiht die verschiedenen entsprechenden Ordinatenwerte.

Sollte das aber zu viel Aufwand bedeuten wäre es auch ok wenn ich einfach immer die Abszissen-/Ordinatenwerte je Datei eine eine Tabelle zusammengefasst bekäme. Dann kann ich immernoch die unnötigen Werte händisch löschen...

Danke fürs Nachfragen!!!!

VG
Matze
MrMatze
VB...Waaaas?


Verfasst am:
14. Apr 2014, 17:05
Rufname: Matze

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Hat niemand eine Idee?? Embarassed
Gast



Verfasst am:
14. Apr 2014, 18:58
Rufname:


AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Echte Beispieldateien wären nicht schlecht.
Mindestens zwei.
Martin Walder
Gast


Verfasst am:
15. Apr 2014, 11:55
Rufname:

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Hallo

Sind die Daten tatsächlich mit mehreren Leerzeichen getrennt, oder sind das Tabulatoren?
Gast



Verfasst am:
15. Apr 2014, 12:26
Rufname:

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Deswegen ja echte Beispieldateien als Anhang.
Martin Walder
Gast


Verfasst am:
15. Apr 2014, 14:02
Rufname:

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Zumal auch nicht klar ist was die Laufnummer im Ergebnis soll, denn diese gibt es ja einmal pro Zeile in der Originaldatei, im Ergebnis gibt es sie aber einmal pro Datei.

Naja egal, hier mal ein Beispiel um die Daten einer Datei einzulesen und ab der Zeile mit Abzisse 0,000000 in einer Zeile auszugeben. Der Rest solle eigentlich auch so zu schaffen sein. 11elf ^^

Code:


Option Explicit


Public Sub import()
Dim Arr
Dim Datei
Dim FSO
Dim L As Long
Dim use, nextDate As Integer
Dim Tmp As Variant
Dim glZeile As Boolean
Dim vnt_Ausgabe As Variant
Dim I, t As Integer
Dim Str_String As String
Dim sOrdnerPfadOhneSlash As String
'#####################
'Textdatei auslesen
Set FSO = CreateObject("Scripting.FilesystemObject")
sOrdnerPfadOhneSlash = ThisWorkbook.Path
Set Datei = FSO.OpentextFile(ThisWorkbook.Path & "\test.txt") 'Anpassen
Str_String = Datei.readall
Datei.Close
'#####################
Arr = Split(Str_String, vbCrLf)     'Nach Datensätzen splitten
use = 0                             'merkt sich ob gerade Nutzdaten eingelesen werden
glZeile = False                     'merkt sich ob man in der gleichen Zeile ist so dass die 0,00000 Zeilen ebenfalls verwendet werden können
nextDate = 0                        'Zähler um Nutzdaten zu speichern

ReDim vnt_Ausgabe(UBound(Arr) * 3)
For L = 0 To UBound(Arr)
    Tmp = Split(Arr(L), vbTab) 'Datensätze aufteilen
    For I = 0 To UBound(Tmp)
        If UBound(Tmp) > 0 Then t = 2 Else t = 0                    ' prüft ob die Zeile mehrere Einträge hat, sonst läuft tmp(t) bei 1 Eintrag in den Hammer
        If Not glZeile And Tmp(t) = "0,000000" Then use = use + 1   ' bestimmt ab wann Daten ausgelesen werden
        If use = 1 And Tmp(I) <> "" Then                            ' prüft ob die Daten geschrieben werden dürfen und filtert Zeilenumbrüche raus
                vnt_Ausgabe(nextDate) = Tmp(I)                      ' Werte ab 0,000000 in das Array vnt_Ausgabe schreiben
                nextDate = nextDate + 1
        End If
        glZeile = True
    Next
    glZeile = False
Next
'Ausgeben. Anpassen.

Sheets("Tabelle1").Range("A1").Resize(, UBound(vnt_Ausgabe) + 1) = vnt_Ausgabe
End Sub
Martin Walder
Gast


Verfasst am:
15. Apr 2014, 15:25
Rufname:

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Das selbe in Grün noch für eine Ausgabe in Zeilen und Spalten, ab der Absisse 0.000000 inkl. ersetzen der Punkte durch Kommas ab Spalte 3.
Code:
Option Explicit

Public Sub import()
Dim Arr
Dim Datei
Dim FSO
Dim L As Long
Dim use, nextDate As Integer
Dim Tmp As Variant
Dim glZeile As Boolean
Dim vnt_Ausgabe As Variant
Dim I, t As Integer
Dim Str_String As String
Dim sOrdnerPfadOhneSlash As String
'#####################
'Textdatei auslesen
Set FSO = CreateObject("Scripting.FilesystemObject")
sOrdnerPfadOhneSlash = ThisWorkbook.Path
Set Datei = FSO.OpentextFile(ThisWorkbook.Path & "\test.txt") 'Anpassen
Str_String = Datei.readall
Datei.Close
'#####################
Arr = Split(Str_String, vbCrLf)     'Nach Datensätzen splitten
use = 0                             'merkt sich ob gerade Nutzdaten eingelesen werden
glZeile = False                     'merkt sich ob man in der gleichen Zeile ist so dass die 0,00000 Zeilen ebenfalls verwendet werden können
nextDate = 0                        'Zähler um Nutzdaten zu speichern

ReDim vnt_Ausgabe(UBound(Arr), 3)
For L = 0 To UBound(Arr)
    Tmp = Split(Arr(L), vbTab) 'Datensätze aufteilen
    For I = 0 To UBound(Tmp)
        If UBound(Tmp) > 0 Then t = 2 Else t = 0                    ' prüft ob die Zeile mehrere Einträge hat, sonst läuft tmp(t) bei 1 Eintrag in den Hammer
        If Not glZeile And Tmp(t) = "0,000000" Then use = use + 1   ' bestimmt ab wann Daten ausgelesen werden
        If use = 1 And Tmp(I) <> "" Then                            ' prüft ob die Daten geschrieben werden dürfen und filtert Zeilenumbrüche raus
                vnt_Ausgabe(L, nextDate) = Tmp(I)                    ' Werte ab 0,000000 in das Array vnt_Ausgabe schreiben
                nextDate = nextDate + 1
        End If
        glZeile = True
    Next
    glZeile = False
    nextDate = 0
Next
'Ausgeben. Anpassen.

Sheets("Tabelle1").Range("A1").Resize(UBound(vnt_Ausgabe) + 1, UBound(vnt_Ausgabe, 2)) = vnt_Ausgabe

    Rows("3:" & Rows.Count).Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
Gast



Verfasst am:
15. Apr 2014, 19:20
Rufname:

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

In seinem Beispiel sind keine TABs.
Martin Walder
Gast


Verfasst am:
16. Apr 2014, 08:27
Rufname:

AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Solange er sich dazu nicht äussert, werde ich keine weiteren Bemühungen anstellen.
Gast



Verfasst am:
16. Apr 2014, 19:40
Rufname:


AW: Import von Daten aus diversen *.txt Files in eine Datei - AW: Import von Daten aus diversen *.txt Files in eine Datei

Nach oben
       Version: Office 2010

Ich auch nicht.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Tage zwischen zwei Daten 9 Sanna 39920 22. Jun 2013, 12:20
Höttl Wilfried Tage zwischen zwei Daten
Keine neuen Beiträge Excel Formeln: WENN Daten dann Datum der Eingabe 7 Placebo 1711 28. März 2007, 09:47
Auch Gast WENN Daten dann Datum der Eingabe
Keine neuen Beiträge Excel Formeln: Daten zusammenf�hren 2 Gast 708 16. Jun 2005, 15:44
Gast Daten zusammenf�hren
Keine neuen Beiträge Excel Formeln: Verknüpfung zu externer Datei: keine Auto-Aktualisierung 4 Lemmi 1255 06. Jun 2005, 12:19
c0bRa Verknüpfung zu externer Datei: keine Auto-Aktualisierung
Keine neuen Beiträge Excel Formeln: Verkn�pfung Daten aktualisieren 0 Steffi1976 1039 30. Mai 2005, 16:22
Steffi1976 Verkn�pfung Daten aktualisieren
Keine neuen Beiträge Excel Formeln: Daten in Spalte: Reihenfolge umkehren 4 ggaribaldi 8901 09. Mai 2005, 16:32
ggaribaldi Daten in Spalte: Reihenfolge umkehren
Keine neuen Beiträge Excel Formeln: daten in EINER zelle zusammenführen 1 thompson 807 23. Apr 2005, 18:13
fl618 daten in EINER zelle zusammenführen
Keine neuen Beiträge Excel Formeln: Beim Import von Daten automatisch zusammenzählen 8 Schoki 1146 20. Apr 2005, 09:52
Schoki Beim Import von Daten automatisch zusammenzählen
Keine neuen Beiträge Excel Formeln: Abfrage von diversen Werten aus einer Tabelle / Suche Formel 1 Sono 956 15. Apr 2005, 19:12
fl618 Abfrage von diversen Werten aus einer Tabelle / Suche Formel
Keine neuen Beiträge Excel Formeln: Excel Daten in Word an eine bestimmte stelle einfügen 7 Anne 2260 04. März 2005, 13:10
The BOO-M-AN Excel Daten in Word an eine bestimmte stelle einfügen
Keine neuen Beiträge Excel Formeln: daten sortieren 8 Gast 2141 10. Feb 2005, 15:00
Andy Knecht daten sortieren
Keine neuen Beiträge Excel Formeln: Dropdownliste mit Daten aus anderer Tabelle 9 Arri 2357 31. Jan 2005, 18:34
Arri Dropdownliste mit Daten aus anderer Tabelle
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: MS Frontpage