-
Notifications
You must be signed in to change notification settings - Fork 78
Open
Description
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)Metadata
Metadata
Assignees
Labels
No labels