Hi,
I just discovered this great project, thanks a lot for this amazing work 😃
Since CSV processing usually occurs in data flow process, it would be great to improve conveniency as reading CSV data through stdin.
Writing to stdout is easy already, because sys.stdout is passed directly to csv.writer , but reading is a bit more tricky.
import io
from sys import stdout, stdin
import clevercsv
import chardet
# read
input_data = stdin.buffer.read() # Read as binary
detected_encoding = chardet.detect(input_data)['encoding'] # Guess encoding
csvfile = io.StringIO(input_data.decode(detected_encoding))
dialect = clevercsv.Sniffer().sniff(csvfile.read())
csvfile.seek(0)
reader = clevercsv.reader(csvfile, dialect)
rows = reader
# write
writer = clevercsv.write.writer(sys.stdout, encoding='utf8')
writer.writerows(rows)
Hi,
I just discovered this great project, thanks a lot for this amazing work 😃
Since CSV processing usually occurs in data flow process, it would be great to improve conveniency as reading CSV data through stdin.
Writing to stdout is easy already, because sys.stdout is passed directly to csv.writer , but reading is a bit more tricky.