【发布时间】:2017-01-15 21:54:27
【问题描述】:
我正在下载一个 CSV 文件,但所有的空格都变成了 �。 我意识到它在 ASCII 码或简单的打印指令中有所不同。 但是任何人都知道如何使用常规的 char 32 空间而不是 ...?
function importCSV() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); // Make the first sheet the active sheet
ss.setActiveSheet(ss.getSheets()[0]);
var cell = ss.getRange("SettingsManualInputs!D3"); //Get the clan name from cell D3
var cellValue = cell.getValue();
var rsurl = "http://services.runescape.com/m=clan-hiscores/members_lite.ws?clanName="; // set up the url address
var csvUrl = rsurl+cellValue;
var csvContent = UrlFetchApp.fetch(csvUrl).getContentText(); // call data from url in csv format
var csvData = Utilities.parseCsv(csvContent);
var ss = SpreadsheetApp.getActiveSpreadsheet(); // Make the second sheet the active sheet
ss.setActiveSheet(ss.getSheets()[1]);
var sheet = SpreadsheetApp.getActiveSheet(); // select active sheet and get csv clan data pasted into cell B2
sheet.getRange(2, 2, csvData.length, csvData[0].length).setValues(csvData);
}
我会发布一个演示,但它不允许我(没有足够的声誉)。
【问题讨论】:
-
很可能是编码问题。另见:en.wikipedia.org/wiki/Specials_(Unicode_block)
-
在它的响应头中,服务器没有指明字符编码并且还使用了一种奇怪的内容类型(文本/逗号分隔值),所以请查看它的文档。一旦你知道它是哪个“字符集”,你就可以告诉getContentText。
标签: csv google-sheets ascii