|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Sep 2010
Messaggi: 2
|
[Batch] Concatenare file txt e formattare dati
Ciao a tutti,
ho bisogno di uno script bat per processare migliaia di file txt. Tutti i file sono nominati "Posizioni_Numero_Numero.txt", ad esempio Posizioni_2160_008.txt dove entrambi i numeri vanno di 4 in 4 (cioè non c'è un file Posizioni_2161_009.txt). Inoltre per ogni numero al primo posto i numeri al secondo posto vanno da 000 a 356, ad esempio: Posizioni_2160_000.txt Posizioni_2160_004.txt Posizioni_2160_008.txt ... Posizioni_2160_356.txt Posizioni_2164_000.txt Posizioni_2164_004.txt ecc Ciascuno di questi file è strutturato in questa maniera: "Testo1 Testo2 Testo3 Testo4 Testo5 Numero1 Numero2 Numero3 Numero4 Numero5", tutti su una riga e separati da più spazi. Lo script a questo punto, ricevendo in input il range riferito al primo numero nel nome del file (ad es 2160 2200), estrae da ciascun file (tramite magari due cicli for che vengono incrementati di 4) il cui primo numero è contenuto in questo range soltanto gli ultimi 4 numeri all'interno del file, quindi tralasciando il testo e il primo numero, e li salva in maniera sequenziale in un nuovo file txt chiamandolo ad esempio 2160, cioè il primo numero presente nel nome del file che sta processando. Riassumendo, se io in input do il range 2160 2168, in output voglio che vengano creati 3 file chiamati 2160.txt, 2164.txt, 2168.txt. Aprendo il file 2160.txt all'interno devono esserci delle righe di 4 numeri, presi dai file Posizioni_2160_000.txt Posizioni_2160_004.txt ... Posizioni_2160_356.txt Ultima cosa ma importantissima, se non esiste un file con un certo numero al secondo posto (ad esempio non c'è Posizioni_2160_012.txt) al posto dei 4 numeri che dovrebbero esserci nel file 2160.txt, dopo i numeri corrispondenti al file Posizioni_2160_008.txt, devono essere inseriti 4 "NaN". Spero di essere stato chiaro, è un pò difficile spiegarlo a parole ![]() Grazie! |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Sep 2010
Messaggi: 2
|
Un po più chiaro
Magari cosi è un po più chiaro:
input num1 num2 for i da num1 a num2 ogni 4 crea file "i.txt" for j da 000 a 356 ogni 4 if esiste file "Posizioni_i_j.txt" apri file "Posizioni_i_j.txt" aggiungi ultimi 4 numeri del file in fondo al file "i.txt" else aggiungi "NaN NaN NaN NaN" in fondo al file "i.txt" fine magari nei file nuovi i numeri andrebbero separati da tab e non da spazi grazie! |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Interessante!
Che dire... buon lavoro alenglaro ![]()
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:21.