根据反馈,我原来的问题没有意义。 试图查看是否有另一种方法可以使用Papa解析来读取CSV。
我目前的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="./papaparse.min.js"></script>
<script>
var data;
// Target first (and only) file selected
function handleFileSelect(evt) {
var file = evt.target.files[0];
// Parse the file
Papa.parse(file, {
header: true,
download: true,
dynamicTyping: true,
complete: function(results) {
data = results;
console.log(data);
}
});
}
// Run handleFileSelect function when document is ready
$(document).ready(function(){
$("#testCsv").change(handleFileSelect);
});
</script>
<!--File button to upload file-->
<input type="file" id="testCsv" name="files"/>
编辑:显然我需要根据下选票做更多的研究。对不起,这个东西很新。我的下一次尝试:
var data;
function parseCSV(file) {
Papa.parse(file, {
header: true,
download: true,
dynamicTyping: true,
complete: function(results) {
data = results;
console.log(results); // results appear in dev console
}
});
}
parseCSV(document.getElementById("testCSV").files[0]);
返回错误:
ReferenceError: document is not defined
进行更多研究。
答案 0 :(得分:2)
根本没有在那里使用jQuery。所有你使用的jQuery都是在运行代码之前等待DOM加载,并挂钩事件处理程序。
您可以通过简单地将脚本标记移动到HTML的末尾(即结束</body>
标记之前)来完成第一个(等待)。
您可以使用addEventListener
:
document.getElementById("testCsv").addEventListener("change", handleFileSelect, false);
如果你需要支持像IE8这样没有addEventListener
的过时浏览器,或者更多现代浏览器,它们有时会蹒跚而行,就像过时的浏览器一样(IE9-IE11),this answer有一个功能您可以使用addEventListener
或旧的MS特定attachEvent
。
答案 1 :(得分:-2)
编写自己的Parse函数。 该函数应该采用输入字符串(CSV内容)并将其拆分为&#39;,&#39;字符/字符串。
阅读第一行(直到行尾和回车)。这是你的专栏。 所有其他行都是您的数据。
有意义吗?