I am reading a csv file and I use a split on every line but I do not fully understand the behavior.
csv file:
id;name;number 1111;foo nbar;2.00 2222;a 0,25;1.00
code:
for file in csvs: with open(file, encoding = "utf8") as f: reader = csv.reader(f) for row in reader: if isinstance(row, str): print(row) else: print(row[0].split(";"))
This yields:
['number', 'name', 'price'] ['1111', 'foo \nbar', '2.00'] ['2222', 'a 0']
but I expected the last line to be:
['2222', 'a 0,25', '1.00']
Advertisement
Answer
Use the delimiter arg to csv.reader
to split on semicolons instead of commas:
for file in csvs: with open(file, encoding = "utf8") as f: reader = csv.reader(f,delimiter=";") for row in reader: print(row)