Zum Inhalt springen

Zeile oder Datensatz automatisch auslesen und in eine separate Datei abspeichern


Empfohlene Beiträge

Programmiert habe ich noch nichts, meine bisherige Idee sieht aber so aus:

1. Excel Datei als csv-Datei abspeichern

2. csv datei in ein zweidimensionales array speichern (a [n][m] )

3. zeile 1 auslesen, also a[0][0] bis a[0][m] und in eine datei abspeichern

Punkt drei solange wiederholen bis es keinen keine zeile mehr gibt.

ich hab mal bei autoit nachgeschaut

punkt zwei kann man damit realisieren.

punkt drei wird bisschen problematisch, da es nur ein befehl gibt wo man etwas in eine ini datei reischreiben kann (sprich :IniWrite(...) )

ich möchte aber in eine txt datei schreiben

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaub du brauchst keine Arrays.

Hier mal ein bisschen Perlpseudocode der dir vllt. mit der möglichen Vorgehensweise weiterhilft.

 

$i=0;

open(FH, '<', "input.txt") or die $!;

while $line (<FH>)

{

    open(FH2, '>', "output-$i.txt") or die $!; 

    print FH2 $line;

    close FH2;

    $i++;

}

close FH;

Syntaxtipps für autoit hat dir robotto7831a ja gegeben.

Bearbeitet von bigvic
Link zu diesem Kommentar
Auf anderen Seiten teilen

#include <File.au3>

; CSV Datei wird in ein array eingelesen

; --------------------------------------

Dim $arCSV

$csvFile = "test.csv"

_FileReadToArray ( $csvFile , $arCSV )

For $i = 1 To $arCSV[0]

$arCSV[$i] = StringSplit($arCSV[$i], ";")

Next

For $j = 1 To $arCSV[0]

$x = $arCSV[$j]

MsgBox(0,'', 'Anzahl dert Elemente von $arCSV[3]: ' & $x[5])

; Dateiname wird erzeugt

;-----------------------

$tag = @MDAY

$monat = @MON

$jahr = @YEAR

$std = @HOUR

$min = @MIN

$sek = @SEC

$bs = "-"

$Datum = $tag & $bs & $monat & $bs & $jahr & $bs & $std & $bs & $min & $bs & $sek

$dbegin = "descr"

$dendung = ".txt"

$dname = $dbegin & $Datum & $dendung

; Datei wird erzeugt

; ------------------

_FileCreate($dname)

; Erzeugte Datei wird geöffnet und Stellen aus der 1. Datei werden

; hinzugefügt

; ---------------------------------------------------------------

$file = FileOpen( $dname , 1)

; Check if file opened for writing OK

If $file = -1 Then

MsgBox(0, "Error", "Unable to open file.")

Exit

EndIf

FileWriteLine($file, "Line1")

FileWriteLine($file, "Line2" & @CRLF)

FileWriteLine($file, $x[5] )

FileClose($file)

Next

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...