我正在研究一個涉及Google Drive中csv文件的項目,該項目每分鐘都會使用新數據進行更新。Google Apps腳本Utilities.parseCsv()和替換字符 -
我已經構建了一個電子表格儀表板以使csv中的數據更有意義。
我犯了一個錯誤,假設我可以使用Google Spreadsheet function = importdata(url)從Google Drive中的CSV獲取數據到我的Google Spreadsheet中,但是,除非我公開CSV這對於安全和隱私原因是不可行的。即使我公開製作CSV並使用導入數據,進入的數據也是完全不正確且不可用的 - 它看起來不像實際的CSV。
malformed data with importdats(url)
我想編寫一個腳本來使用DriveApp打開CSV文件自動導入CSV數據,Utilities.parseCsv打開CSV到數據的數組,然後setValues方法寫的數據到表單。
function importData() {
var ss = SpreadsheetApp.getActive();
var file = DriveApp.getFilesByName("Agent Performance.csv")
var csv = file.next().getBlob().getDataAsString();
var csvData = Utilities.parseCsv(csv);
var sheet = ss.getSheetByName('CSV Import TEST');
for (var i = 0; i < csvData.length; i++) {
sheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
}
}
問題是我得到的替換字符如下: 所有數據寫入表單。這很奇怪。該表看起來很正常,但如果您單擊一個單元格以查看它的值,那麼公式欄具有文本在單元格中的任何內容,但每個字符之間是 。這使Google表格無法進行任何計算。
Notice replacement characters in formula bar
如果我只是導入使用谷歌表「文件」,「導入」和「替換當前工作表」相同的CSV,數據來自於罰款。這不是一個好的解決方案,因爲實際上我只需要在CSV更新和Google表格更新中的儀表板之間延遲幾分鐘時間。如果我必須手動上傳CSV文件,它會破壞系統的用途。
任何幫助將不勝感激。謝謝!
您如何獲取上傳到您的Google雲端硬盤的csv文件?您可以使用Google的[Drive Rest API](https://developers.google.com/drive/v2/reference/files/insert),併發出HTTPS POST請求以上傳csv文件。 Apps腳本有一種方法可以使用UrlFetchApp.fetch()進行HTTPS POST請求。你在尋找一種不同的方式來上傳文件,或者解析內容的方式嗎? –
我正在尋找解析內容的方法。我並沒有100%清楚csv是如何得到更新的,儘管如此,也許https發佈請求會起作用。 –