[编辑] 我使用 D3 解决了这个问题,没关系,谢谢!
所以我有一个看起来像这样的 csv 文件,我需要将本地 csv 文件导入我的客户端 javascript:
"L.Name", "F.Name", "Gender", "School Type", "Subjects"
"Doe", "John", "M", "University", "Chem I, statistics, English, Anatomy"
"Tan", "Betty", "F", "High School", "Algebra I, chem I, English 101"
"Han", "Anna", "F", "University", "PHY 3, Calc 2, anatomy I, spanish 101"
"Hawk", "Alan", "M", "University", "English 101, chem I"
我最终需要解析它并输出如下内容:
Chem I: 3 (number of people taking each subject)
Spanish 101: 1
Philosophy 204: 0
但就目前而言,我坚持只是将它导入 javascript。
我当前的代码如下所示:
<!DOCTYPE html>
<html>
<body>
<h1>Title!</h1>
<p>Please enter the subject(s) that you wish to search for:</p>
<input id="numb" type="text"/>
<button onclick="myFunction()">Click me to see! :) </button>
<script>
function myFunction() {
var splitResearchArea = [];
var textInput = document.getElementById('numb').value;
var splitTextInput = textInput.split(",");
for(var i =0; i<splitTextInput.length; i++) {
var spltResearchArea = splitTextInput[i];
splitResearchArea.push(spltResearchArea);
}
}
我已经研究并在 Stackoverflow 上找到了一些有用的链接,例如 this 、 this 和 this 但我是 javascript 的新手,我并不完全理解它。我应该使用 Ajax 吗?文件阅读器?查询?使用一个比另一个有什么好处?你将如何在代码中实现它?
但是,是的,我只是很困惑,因为我是 javascript 的新手,所以在正确方向上的任何帮助都会很棒。谢谢!!
原文由 ocean800 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下是如何使用 FileReader API 中的
readAsBinaryString()
加载本地文件。基本上,只需要监听
<input type="file">
中的更改事件并调用 readFile 函数。jsFiddle