Jak wypełnić wszystkie puste komórki w pliku CSV z powłoką SED i Bash
- 3336
- 923
- Roland Sokół
Do wypełnienia pustych komórek w pliku CSV można użyć następującego skryptu Bash. Zakładamy, że twój plik jest równomiernie rozłożony, aby zawierał tę samą liczbę kolumn w każdym wierszu oddzielonym przecinkiem. Jeśli twój plik jest PATKA
Oddzielone użyj następującego polecenia Linux, aby przekonwertować je na plik wartości oddzielonej przecinka przed kontynuowaniem.
Przykład:
$ CAT TEST 1 2 4 4 2 3 3 3 $ sed 's/\ t/,/g' test 1,2,4,4 2,3,3,3 lub $ CAT Test | tr '\ t ",„ 1,2,4,4 2,3,3,3
Oto zawartość naszego pliku CSV, który zawiera komórki pustej wartości.
$ cat myfile.CSV 1,2,3,4,6,7,7 ,,,,,, 1 ,,, 4,5 ,, 2,3,4,5,,
Aby wypełnić wszystkie puste wartości w powyższym pliku CSV, możemy użyć następującego skryptu Bash:
#!/bin/bash Do I W $ ( SEQ 1 2); Do sed -e "s/^,/2 $,/" -e "s/,,/, 2 $,/g" -e "s/, $/, 2 $/" -i $ 1 $ zrobione
Skopiuj powyższe wiersze do pliku np. Wartości wypełnienia.cii
. Skrypt przyjmuje dwa argumenty. Pierwszym argumentem, który wymaga pliku, w którym chcesz zastąpić wszystkie puste wartości, a drugim argumentem jest ciąg lub numer, który chcesz zastąpić pustymi wartościami. Postępowanie zgodnie z poleceniem Linux zastąpi wszystkie puste komórki w powyższym pliku wartości oddzielonej przecinka mój plik.CSV
.
Zastępująca postać do włożenia w każdą pustą komórkę będzie 0
:
$ Bash Fill-Fill-Wartości.sh myfile.CSV 0
mój plik.CSV
plik został zmodyfikowany, a wszystkie puste wartości zostały zastąpione 0
:
$ cat myfile.CSV 1,2,3,4,5,6,7 0,0,0,0,0,0,0,0 1 0,0,4,5,0,0 0,0 0,2,3,4,5, 0,0
Powiązane samouczki Linux:
- Jak czytać i tworzyć pliki CSV za pomocą Pythona
- Jak manipulować arkuszami kalkulacyjnymi Excel z Pythonem i…
- Jak połączyć się z serwerem FTP za pomocą Pythona
- Jak montować obraz ISO na Linux
- Linux Pliki konfiguracyjne: Top 30 Najważniejsze
- Advanced Bash Regex z przykładami
- Mastering Bash Script Loops
- Wielokrotne Xarg z przykładami
- Rzeczy do zainstalowania na Ubuntu 20.04
- Ubuntu 20.04 Hadoop