upgrade csv_get to python

This commit is contained in:
TKE
2020-06-22 17:40:26 +02:00
parent a56470ce17
commit 556f9e7ac8

43
csv_get
View File

@@ -1,19 +1,26 @@
#!/bin/bash #!/usr/bin/env python3
#check if comma or semicolon import csv
if [[ $( grep -c ',' $1 ) -gt $( grep -c ';' $1 ) ]] import argparse
then import sys
delim=','
else
delim=';'
fi
file=$1 def main():
shift parser = argparse.ArgumentParser()
#build cut parser.add_argument('-c', type=int, dest='columns', action="append")
cut_cmd="cut -d${delim} -f" parser.add_argument('infile', nargs='+', type=argparse.FileType('rt'))
#for option in $* ; do args = parser.parse_args()
#head -n1 $file | cut -d${delim} -f${option} if args.columns is None or len(args.columns) == 0:
#done args.columns=[0]
cut_cmd="${cut_cmd}$(echo ${*} | tr ' ' ',') ${file}" for file in args.infile:
#echo ${cut_cmd%,} csv_infile=csv.reader(file)
$(echo $cut_cmd) for row in csv_infile:
try:
outrow = [row[index] for index in args.columns]
print('\t'.join(outrow))
except IndexError:
print("No such column.")
print("Input has columns: {}".format(",".join([str(x) for x in range(len(row))])))
print("You selected {}".format(args.columns))
sys.exit(1)
if __name__ == '__main__':
main()