-
-
Save onigetoc/945c80194d888b2905c25d0cc3c73d86 to your computer and use it in GitHub Desktop.
A node.js script to convert a Google Sheet into a JSON object
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Simple Node.js script to turn a specific page on a Google Sheet | |
* into a JSON object for the main purpose of HTML Templating. | |
* | |
* @author jonobr1 / http://jonobr1.com | |
* | |
*/ | |
var https = require('https'); | |
var path = require('path'); | |
var fs = require('fs'); | |
var format = 'tsv'; // Format you'd like to parse. `tsv` or `csv` | |
var id = 'GOOGLE_SHEET_ID'; // The Google Sheet ID found in the URL of your Google Sheet. | |
var sheetId = 0; // The Page ID of the Sheet you'd like to export. Found as `gid` in the URL. | |
https.get('https://docs.google.com/spreadsheets/d/' + id + '/export?format=' + format + '&id=' + id + '&gid=' + sheetId, function(resp) { | |
var body = ''; | |
resp | |
.on('data', function(data) { | |
body += ab2str(data); | |
}) | |
.on('end', function() { | |
var json = []; | |
var rows = body.split(/\r\n/i); | |
for (var i = 0; i < rows.length; i++) { | |
json.push(rows[i].split(/\t/i)); | |
} | |
fs.writeFileSync(path.resolve(__dirname, './sheet.json'), JSON.stringify(json)); | |
console.log('Generated sheet.json'); | |
}); | |
}); | |
function ab2str(buf) { | |
return String.fromCharCode.apply(null, new Uint16Array(buf)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment