Skip to content

Instantly share code, notes, and snippets.

@aborruso
Last active October 17, 2018 12:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aborruso/d7e8ca045c2b5104a1bb23c265ff53c6 to your computer and use it in GitHub Desktop.
Save aborruso/d7e8ca045c2b5104a1bb23c265ff53c6 to your computer and use it in GitHub Desktop.
Estrarre da tutti i fogli di un file XLS le stesse colonne e righe e produrre un file di output
pyexcel transcode input.xls out_.csv
for i in out_*.csv;do mlr --csv put '$foglio = "'"$i"'"' then cut -f "campoUno,campoTre,foglio" then filter '(NR == 3 || NR == 7)' "$i" >tmp_"$i"; done
mlr  --csv cat tmp_* >./output.csv
  • con pyexcel trasformo tutti i fogli in file CSV;
  • poi con miller estraggo soltanto le celle dei campi campoUno e campoTre di riga 3 e 7. Aggiungo pure una colonna con il nome del foglio;
  • e infine creo con miller un unico file di output.

Il file XLS di input è qui https://github.com/aborruso/bashnotebook/files/2486764/input.zip.

campoUno campoTre foglio
R Acquisto di beni e servizi out___due__1.csv
R Acquisto di beni e servizi out___due__1.csv
C Acquisto di beni e servizi out___tre__2.csv
C Acquisto di beni e servizi out___tre__2.csv
C Redditi da lavoro dipendente out___uno__0.csv
C Redditi da lavoro dipendente out___uno__0.csv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment