【发布时间】:2019-06-03 11:47:34
【问题描述】:
我正在尝试将放置在 Google 云端硬盘中的 CSV 文件导入 BigQuery,但失败了。我收到一个错误Error while reading table, error message: CSV table encountered too many errors, giving up。
我想知道是什么导致了错误。 CSV 文件在 A、B 和 D 列中包含字符串,在 C 列中包含整数,在 E 和 F 列中包含浮点数。分隔符是制表符,\t。
虽然 CSV 文件包含图像 1 上的数据:
如果我查看 Google Drive 中的文件预览,我会看到损坏的数字,如图 2 所示:但是,如果我直接从 GDrive 下载文件并使用 Notepad++ 打开它,文件完全符合预期:带逗号的数字作为小数点符号和制表符作为列分隔符...
在创建 BigQuery 表时,我手动添加列并为它们分配字段类型。对于包含数字的列,我测试了 integer、float 和 numeric 的任意组合 - 总是相同的错误。
问:我应该如何格式化 CSV 文件以使导入成为可能?
这是一个文件示例:
Domain Keywords RP Brand SI SiBerechnet
example.de accura versicherung 1 accura 293,9 0,00244913
example.de accura versicherung erfahrung 1 accura 63,9 0,00053249
example.de accura versicherung für wohnmobile 1 accura 43,9 0,00036583
example.de accura versicherung keine wohnmobile mehr 1 accura 53,9 0,00044916
example.de accura versicherungsmakler 1 accura 83,9 0,00069916
example.de accura versicherung test 1 accura 43,9 0,00036583
example.de accura versicherung wohnmobil 1 accura 73,9 0,00061582
example.de accura wohnmobilversicherung erfahrungen 1 accura 73,9 0,00061582
example.de aufgaben innendienst versicherung 75 non brand 0,133333333 0,00000111
example.de aufgaben versicherung innendienst 59 non brand 0,169491525 0,00000141
example.de basler versicherung kfz telefonnummer 98 basler 0,102040816 0,00000085
example.de basler versicherung kundenservice 96 basler 0,104166667 0,00000087
example.de basler wohnmobilversicherung 8 basler 3,86 0,00003217
example.de bergungskosten unfallversicherung 37 non brand 0,810810811 0,00000676
example.de berufsunfähigkeitsversicherung bei bürojob 84 non brand 0,238095238 0,00000198
example.de berufsunfähigkeitsversicherung bürojob 83 non brand 1,084337349 0,00000904
example.de betriebshaftpflicht für hausmeisterservice 87 non brand 0,114942529 0,00000096
example.de betriebshaftpflicht für hausverwalter 29 non brand 1,034482759 0,00000862
example.de betriebshaftpflicht hausmeister 87 non brand 0,114942529 0,00000096
example.de betriebshaftpflicht hausverwalter 26 non brand 0,384615385 0,00000321
example.de betriebsunterbrechungsversicherung freiberufler 46 non brand 0,217391304 0,00000181
example.de braucht eine krankenschwester eine diensthaftpflichtversicherung 15 non brand 2,706666667 0,00002256
example.de campingfahrzeug versicherung 39 non brand 1,025641026 0,00000855
example.de dienst haftpflicht 99 non brand 0,303030303 0,00000253
example.de diensthaftpflicht öffentlicher dienst 55 non brand 0,545454545 0,00000455
example.de diensthaftpflichtversicherung 57 non brand 22,80701754 0,00019006
example.de dienst haftpflichtversicherung 84 non brand 0,238095238 0,00000198
example.de diensthaftpflichtversicherung beamte 90 non brand 0,555555556 0,00000463
example.de diensthaftpflichtversicherung für soldaten 28 non brand 0,357142857 0,00000298
example.de diensthaftpflichtversicherung kosten 80 non brand 0,5 0,00000417
example.de diensthaftpflichtversicherung öffentlicher dienst 51 non brand 0,980392157 0,00000817
example.de diensthaftpflichtversicherung öffentlicher dienst angestellte 63 non brand 0,158730159 0,00000132
example.de diensthaftpflichtversicherung polizei 69 non brand 0,724637681 0,00000604
example.de diensthaftpflichtversicherung soldaten 26 non brand 0,769230769 0,00000641
example.de einbauküche hausrat oder gebäude scheidung 31 non brand 0,64516129 0,00000538
example.de einbauküche hausratversicherung oder gebäudeversicherung 12 non brand 2,643333333 0,00002203
【问题讨论】:
-
您能否分享原始数据文件的 sn-p(例如 5 行)并混淆/编辑任何敏感字段?很难以不同的方式处理屏幕截图和不同的软件格式/munges。
-
您能否查看 BigQuery 作业历史记录以了解更详细的错误?这通常会更详细地说明遇到错误的位置以及您可能正在处理的故障类型。
-
@GrahamPolley 我用文件样本编辑了我的帖子
-
我可能找到了正确导入文件的锻炼方法 - 我将逗号替换为小数点限制器。但这不是很方便 - 也许有人知道,如何使用逗号导入此类数据作为十进制限制器?
标签: csv google-drive-api google-bigquery