导入数据时遇到错误字符(ASCII 0)

时间:2012-07-24 14:18:50

标签: google-bigquery

我正在尝试导入一些数据并收到错误“遇到错误字符(ASCII 0)”

我要导入的文件是 http://commondatastorage.googleapis.com/snksales/dimdistributor.csv

无法理解如何解决此问题。

THX,

2 个答案:

答案 0 :(得分:7)

此文件似乎编码为UTF-16。 BigQuery仅支持UTF-8和latin1文本编码。你能把它重新格式化为UTF-8或ascii吗?如果您使用的是Windows,则应该可以通过执行保存来设置编码 - 就像在记事本中一样。如果你使用的是linux或mac,你应该可以:iconv -f utf-16 -t utf-8 dimdistributor.csv -o dimdistributor_utf8.csv。我运行后者并能够导入您的数据。

$ xxd dimdistributor.csv |头 0000000:fffe 3100 2c00 3000 3000 3000 3000 3100 ..1。,。0.0.0.0.1。 0000010:3000 3000 3000 3000 3200 2c00 4d00 2e00 0.0.0.0.2。,。M ... 0000020:4d00 2e00 4500 4e00 5400 4500 5200 5000 M ... E.N.T.E.R.P。 0000030:5200 4900 5300 4500 5300 2c00 3200 0d00 R.I.S.E.S。,。2 ... 0000040:0a00 3200 2c00 3000 3000 3000 3000 3100 ..2。,。0.0.0.0.1。

答案 1 :(得分:0)

尝试使用以下PowerShell脚本清除文件:

   $configFiles = Get-ChildItem -Path C:\InputPath\* 
   foreach ($file in $configFiles)
   {
         (Get-Content $file.PSPath) |
         Foreach-Object { $_ -replace "`0", "" } |
         Set-Content $file.PSPath
   }

要使用它,只需将文件复制到C:\ InputPath,将脚本另存为Script.ps1并使用PowerShell运行它