Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script &引用;缺少关闭双引号(“)”;BigQuery出错,但I';我没有上传任何报价_Google Apps Script_Google Bigquery - Fatal编程技术网

Google apps script &引用;缺少关闭双引号(“)”;BigQuery出错,但I';我没有上传任何报价

Google apps script &引用;缺少关闭双引号(“)”;BigQuery出错,但I';我没有上传任何报价,google-apps-script,google-bigquery,Google Apps Script,Google Bigquery,我正在将一些facebook帖子数据上传到BigQuery中。所以我有一些基本的信息:帖子名称、帖子信息、访问范围、喜欢的内容等等 我已通过删除所有“清除了所有帖子名称和帖子消息,但仍然存在以下错误: 文件-00000000:分析从位置开始的行时检测到错误: 15934.错误:缺少双引号(“)字符。(错误代码:无效) 除了“以外的任何东西都会导致此错误吗 我正在将数据从googlesheet导出到BQ,如果需要,这里是我的脚本: function BQ_fb_export() { var p

我正在将一些facebook帖子数据上传到BigQuery中。所以我有一些基本的信息:帖子名称、帖子信息、访问范围、喜欢的内容等等

我已通过删除所有
清除了所有帖子名称和帖子消息,但仍然存在以下错误:

文件-00000000:分析从位置开始的行时检测到错误: 15934.错误:缺少双引号(“)字符。(错误代码:无效)

除了
以外的任何东西都会导致此错误吗

我正在将数据从googlesheet导出到BQ,如果需要,这里是我的脚本:

function BQ_fb_export() {
  var projectId = 'XXXXX';
  var fileId = 'XXXXXXX';
  var tableId = 'XXXXXXX'

  // Define our load job.
  var jobSpec = {
    configuration: {
      load: {
        destinationTable: {
          projectId: projectId,
          datasetId: 'Facebook',
          tableId: tableId
        },
        allowJaggedRows: true,
        writeDisposition: 'WRITE_TRUNCATE',
        schema: {
          fields: [
        {name: 'Page_ID', type: 'STRING'},
        {name: 'Post_ID', type: 'STRING'},
        {name: 'Post_creation_date', type: 'STRING'},
        {name: 'Post_name', type: 'STRING'},
        {name: 'Post_message', type: 'STRING'},
        {name: 'Link_to_post', type: 'STRING'},
        {name: 'Post_shared_link', type: 'STRING'},
        {name: 'Post_type', type: 'STRING'},
        {name: 'Post_reach', type: 'INTEGER'},
        {name: 'Post_organic_reach', type: 'INTEGER'},
        {name: 'Post_paid_reach', type: 'INTEGER'},
        {name: 'Post_viral_reach', type: 'INTEGER'},
        {name: 'Post_engaged_users', type: 'INTEGER'},
        {name: 'Post_likes', type: 'INTEGER'},
        {name: 'Post_shares', type: 'INTEGER'},
        {name: 'Post_comments', type: 'INTEGER'},
        {name: 'Post_link_clicks', type: 'INTEGER'},
        {name: 'Video_views', type: 'INTEGER'},
          ]
        }
      }
    }
  };

  var spreadsheet = SpreadsheetApp.openById(fileId);
  var filename = spreadsheet.getName();

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Raw_data");
  var Row_count = sheet.getLastRow();
  var data = sheet.getDataRange().getValues();

  var csvdata = "";
  for (var row = 1; row < data.length && row < Row_count + 1; row++) {
    for (var col = 0; col < data[row].length; col++) {  
    var punctRE = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]/g;
    var spaceRE = /\s+/g;
      var cell = data[row][col].toString();

      if (cell.match(/http/g) && !cell.match(/www.facebook.com/g) ) {
        var cell = data[row][col].toString();
      } else if (!cell.match(/www.facebook.com/g)){
        var cell = data[row][col].toString().replace(punctRE, '').replace(spaceRE, ' ');
      }


      if (cell.indexOf(",") != -1) {
        csvdata += "\"" + cell + "\"";
      } else {
        csvdata += cell;
      }

      if (col < data[row].length - 1) {
        csvdata += ",";
      }
    }
    csvdata += "\r\n";
  }

  Logger.log(csvdata)
  var data = Utilities.newBlob(csvdata, "application/octet-stream");

  // Execute the job.
  BigQuery.Jobs.insert(jobSpec, projectId, data);
  // This example assumes there is a sheet named "first"
}
函数BQ\u fb\u export(){
var projectId='XXXXX';
var fileId='XXXXXXX';
var tableId='XXXXXXX'
//定义我们的加载作业。
变量作业规范={
配置:{
负载:{
目标表格:{
projectd:projectd,
datasetId:“Facebook”,
tableId:tableId
},
阿洛贾格德罗斯:没错,
writeDisposition:“WRITE_TRUNCATE”,
模式:{
字段:[
{name:'Page_ID',键入:'STRING'},
{name:'Post_ID',键入:'STRING'},
{name:'Post_creation_date',键入:'STRING'},
{name:'Post_name',键入:'STRING'},
{name:'Post_message',键入:'STRING'},
{name:'Link_to_post',键入:'STRING'},
{name:'Post_shared_link',键入:'STRING'},
{name:'Post_type',type:'STRING'},
{name:'Post_reach',键入:'INTEGER'},
{name:'Post_organic_reach',键入:'INTEGER'},
{name:'Post_paid_reach',键入:'INTEGER'},
{name:'Post_virtual_reach',键入:'INTEGER'},
{name:'Post_-engaged_-users',键入:'INTEGER'},
{name:'Post_likes',键入:'INTEGER'},
{name:'Post_shares',键入:'INTEGER'},
{name:'Post_comments',键入:'INTEGER'},
{name:'Post_link_clicks',键入:'INTEGER'},
{name:'Video_views',键入:'INTEGER'},
]
}
}
}
};
var电子表格=SpreadsheetApp.openById(文件ID);
var filename=电子表格.getName();
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“原始数据”);
var Row_count=sheet.getLastRow();
var data=sheet.getDataRange().getValues();
var csvdata=“”;
对于(变量行=1;行
我终于发现问题出在新行上,而不是错误所暗示的双引号。因此,我还删除了我的帖子名和帖子信息栏中的所有换行符,效果非常好。下面是我的清理变量:

var punctRE = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~\r\n|\n|\r]/g;
var-punctRE=/[\u2000-\u206F\u2E00-\u2E7F\\'!“\$%&()*+,\-.\/:;?@[\]^-{{124;}-\ r\n{124; \ r]/g;

希望它能帮助其他人!

我终于发现问题是关于换行符的,而不是错误所暗示的双引号。因此,我还从我的帖子名和帖子消息列中删除了所有换行符,并且效果很好。下面是我的清理变量:

var punctRE = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~\r\n|\n|\r]/g;
var-punctRE=/[\u2000-\u206F\u2E00-\u2E7F\\'!“\$%&()*+,\-.\/:;?@[\]^-{{124;}-\ r\n{124; \ r]/g;

希望它能帮助别人

在我的例子中,在python代码中添加以下行是有效的(下面是完整的代码) 根据文档-->允许引用新行=真。。指示是否允许CSV文件中包含换行符的引用数据节。默认值为false

allow_quoted_newlines = True
对于bq load命令,添加以下内容

bq load --allow_quoted_newlines < rest of command >

文档

在我的例子中,在python代码中添加以下行是有效的(下面是完整的代码) 根据文档-->允许引用新行=真。。指示是否允许CSV文件中包含换行符的引用数据节。默认值为false

allow_quoted_newlines = True
对于bq load命令,添加以下内容

bq load --allow_quoted_newlines < rest of command >

docs

@TobySpeight Than感谢您的评论。希望我的答案现在更好@谢谢你的评论。希望我的答案现在更好!这对我来说不太管用。还有其他人有过同样的挣扎吗?这对我来说不太合适。还有其他人有过同样的挣扎吗?