我正在尝试解析我在Excel中制作的CSV文件。我想用它来更新我的谷歌地图。这张Google地图位于我使用Eclipse for Android开发的移动应用中。
老实说,我不确定如何编写JavaScript。任何帮助将不胜感激。我很乐意相信你的工作。
我只想在用户点击执行以下操作的按钮时运行一些JavaScript:
这是我完成此应用程序所需的唯一部分。所以,再一次,任何帮助都将非常感激。谢谢大家!
答案 0 :(得分:1)
老实说,最好的办法是将其导入FormSite或PHPMyAdmin,然后使用比“,”更容易解析的自定义分隔符重新导出文档。我经常使用“%%”作为字段分隔符,一切都像魅力一样。
答案 1 :(得分:1)
不知道这是否会有所帮助,但如果有帮助,请参阅http://www.randomactsofsentience.com/2012/04/csv-handling-in-javascript.html ...
其他: 除了上面链接的解决方案(我的偏好)之外,我还使用了一堆堆积的正则表达式来标记CSV,但是修改自定义错误状态并不容易......
看起来很重但仍然只需要几毫秒:
function csvSplit(csv){
csv = csv.replace(/\r\n/g,'\n')
var rows = csv.split("\n");
for (var i=0; i<rows.length; i++){
var row = rows[i];
rows[i] = new Array();
row = row.replace(/&/g, "&");
row = row.replace(/\\\\/g, "\");
row = row.replace(/\\"/g, """);
row = row.replace(/\\'/g, "'");
row = row.replace(/\\,/g, ",");
row = row.replace(/@/g, "@");
row = row.replace(/\?/g, "?");
row = row.replace(/"([^"]*)"/g, "@$1\?");
while (row.match(/@([^\?]*),([^\?]*)\?/)){
row = row.replace(/@([^\?]*),([^\?]*)\?/g, "@$1,$2?");
}
row = row.replace(/[\?@]/g, "");
row = row.replace(/\'([^\']*)\'/g, "@$1\?");
while (row.match(/@([^\?]*),([^\?]*)\?/)){
row = row.replace(/@([^\?]*),([^\?]*)\?/g, "@$1,$2?");
}
row = row.replace(/[\?@]/g, "");
row = row.split(",")
for (var j=0; j<row.length; j++){
col = row[j];
col = col.replace(/?/g, "\?");
col = col.replace(/@/g, "@");
col = col.replace(/,/g, ",");
col = col.replace(/'/g, '\'');
col = col.replace(/"/g, '\"');
col = col.replace(/\/g, '\\');
col = col.replace(/&/g, "&");
row[j]=col;
}
rows[i] = row;
}
return rows;
}
答案 2 :(得分:-2)
这似乎有效。您可能希望翻译日语,但使用起来非常简单: http://code.google.com/p/csvdatajs/