为什么读取CSV文件时会有一个尾随列?

Gil*_*les 3 ruby csv parsing multiple-columns ruby-parser

我有一个CSV文件,其结构如下:

"customer_id";"customer_name";"quantity";
"id1234";"Henry";"15";
Run Code Online (Sandbox Code Playgroud)

使用Ruby的标准CSV库解析:

csv_data = CSV.read(pathtofile,{
    :headers => :first_row,
    :col_sep => ";",
    :quote_char => '"'
    :row_sep => "\r\n" #setting it to "\r" or "\n" results in MalformedCSVError
})

puts csv_data.headers.count #4
Run Code Online (Sandbox Code Playgroud)

我不明白为什么解析似乎导致四列,尽管文件只包含三列.这不是解析文件的正确方法吗?

Mic*_*ant 6

;每一行的结尾暗示另一场,即使是没有价值.

我要么删除尾随;的,要么在解析时忽略第四个字段.