Ruby on rails Ruby:数据不';没有引号,但CSV.parse会引发CSV::Malformedcsvror:第x行中的非法引用

Ruby on rails Ruby:数据不';没有引号,但CSV.parse会引发CSV::Malformedcsvror:第x行中的非法引用,ruby-on-rails,ruby,csv,Ruby On Rails,Ruby,Csv,我正在使用ruby CSV.parse从我的Rails项目的Google工作表中读取实时数据。 在我的seeds.rb文件中,我正在读取如下csv数据 point_csv_path = "https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet=points" CSV.parse(open(point_csv_path), :headers=>true).each do |row| Point

我正在使用ruby CSV.parse从我的Rails项目的Google工作表中读取实时数据。 在我的seeds.rb文件中,我正在读取如下csv数据

point_csv_path = "https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet=points"
CSV.parse(open(point_csv_path), :headers=>true).each do |row|
   Point.create!(
      point_id: row["point_id"].to_i, 
      point_type: row["point_type"], 
      identifier: row["identifier"].to_i, 
      longitude: row["longitude"],
      latitude: row["latitude"],
      location: row["location"],
      ordering: row["ordering"].to_i)
end
对于GoogleSheet中的数据,我从在线来源手动复制和粘贴,数据根本不包含任何引号。google表单中的前3行数据如下所示:

point_id    point_type  identifier  longitude   latitude    location    ordering
1           sensor      1           -71.050054  42.360152   null        0
2           sensor      2           -71.049428  42.359373   null        0
3           sensor      3           -71.049337  42.358969   null        0
运行
$railsdb:seed
后,我收到以下错误消息

rails aborted!
CSV::MalformedCSVError: Illegal quoting in line 3.
/media/anyan/file/rails_project/db/seeds.rb:33:in `<main>'
/media/anyan/file/rails_project/bin/rails:9:in `<top (required)>'
/media/anyan/file/rails_project/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:seed
(See full trace by running task with --trace)

查看前几行数据的确切外观会很有帮助。在sublime文本编辑器中打开csv。我在导入CSV时遇到了同样的问题。Postgres不处理空字节。如果文件是从MSSQL或将空字节视为空字节的东西导出的,则可能会出现错误。升华将能够显示
字节。它还将显示ecoding中的任何
错误。另一个尝试是在读取CSV文件时设置编码。但首先需要修复空字节。此外,如果文件的编码是二进制的,这将否定postgres可以避免的任何编码更改。您是否尝试将col_sep设置为逗号或制表符?另一个问题可能是线端处理(CR/LF)。
"point_id","point_type","identifier","longitude","latitude","location","ordering"
"1","sensor","1","-71.050054","42.360152","null","0"
"2","sensor","2","-71.049428","42.359373","null","0"
"3","sensor","3","-71.049337","42.358969","null","0"