Facebookの投稿データをBigQueryにアップロードしていますので、投稿名、投稿メッセージ、 、等...BigQueryで二重引用符(「)が見つかりませんでしたが、引用符はアップロードされていません」
私はすべての"
を削除してクリーンなすべてのポスト名とポストメッセージをしましたが、私はまだ、次のエラーを持っている:
file-00000000: Error detected while parsing row starting at position: 15934. Error: Missing close double quote (") character. (error code: invalid)
は"
は、このエラーが発生する可能性がありますよりも、何か他のものですか?
データをエクスポートしています必要であれば、そう、ここBQするgooglesheetが私のスクリプトはM:
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\\'!"#$%&()*+,\-.\/:;<=>[email protected]\[\]^_`{|}~]/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"
}
@TobySpeight Thansさんのコメントです。私の答えが今より良いことを願っています! –