Benjamin Schollnick <bscholln...@schollnick.net> added the comment:

This is tested under python 3...

filename = "csv_Sample.csv"
from csv import DictReader
datafile = open(filename, 'r')
data = csv.DictReader(datafile, lineterminator = '\x07', delimiter='\x06')
print(next(data))
    OrderedDict([('Field1', 'A'), ('Field2', 'B'), ('Field3', 'C'), ('Field4', 
'D'), ('Field5', 'E'), ('Field6', 'F'), ('Field7', 'G'), ('Field8', 'H'), 
('Field9', 'I'), ('Field10\x07', 'J\x07')])
print(ord(data.reader.dialect.lineterminator))

So it's untested under python 2, since I've stopped developing under Py2.  

I noticed the note in the CSV reader documentation, *AFTER* I diagnosed the 
issue with the CSV reader...  Which is why I opened the bug / feature 
enhancement request, since this is an very odd edge case.

I agree 90+% of all CSVs are going to be \n line terminated, but if we offer it 
for writing, we should offer it for reading.

The main emphasis here is this code will not working in the real world, eg.

filename = "csvFile.csv"
from csv import DictReader, DictWriter
import csv
with open(filename, mode='w') as output_file:
    outcsv = csv.writer(output_file, delimiter=',', lineterminator=";")
    outcsv.writerow(['John Cleese', 'CEO', 'March'])
    outcsv.writerow(['Graham Chapman', 'CFO', 'November'])
    outcsv.writerow(['Terry Jones', 'Animation', 'March'])
    outcsv.writerow(['Eric Idle', 'Laugh Track', 'November'])
    outcsv.writerow(['Michael Palin', 'Snake Wrangler', 'March'])

with open(filename, mode='r') as input_file:
    csv_reader = csv.reader(input_file, delimiter=',', lineterminator=";")
    for row in csv_reader:
        print(row)

----------
Added file: https://bugs.python.org/file48518/CSV_SAMPLE.CSV

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue37709>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to