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)