JS FileReader:从本地文件和 jquery-csv 读取 CSV

2023-12-08

我在与 html 页面相同的目录中有一个 CSV 文件,我想使用 FileReader 将文件内容读入 jquery-csv 的 To Arrays 函数,但我似乎无法让它正常工作。我想我理解这个任务的异步性,但是我描述得正确吗?在这里,我尝试输出第二列中的第二个单元格。谢谢你的帮助。

<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['timeline']}]}"></script>

<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="jquery.csv-0.71.js"></script>
<script type="text/javascript">

var reader = new FileReader();

reader.onload = function(e) {
  var text = e.target.result;
  var data = $.csv.toArrays(text);
  document.write(data[1][1]);

}

reader.readAsText('data.csv');




</script>

这是一个工作演示由...提供jquery-csv

<html>
<head>
<meta charset="utf-8" />
<title>Demo - CSV-to-Table</title>
</head>

<body>
  <div id="inputs" class="clearfix">
    <input type="file" id="files" name="files[]" multiple />
  </div>
  <hr />
  <output id="list">
  </output>
  <hr />
  <table id="contents" style="width:100%; height:400px;" border>
  </table>

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
  <script src="http://evanplaice.github.io/jquery-csv/src/jquery.csv.min.js"></script>
  <script>
    $(document).ready(function() {
      if(isAPIAvailable()) {
        $('#files').bind('change', handleFileSelect);
      }
    });

    function isAPIAvailable() {
      // Check for the various File API support.
      if (window.File && window.FileReader && window.FileList && window.Blob) {
        // Great success! All the File APIs are supported.
        return true;
      } else {
        // source: File API availability - http://caniuse.com/#feat=fileapi
        // source: <output> availability - http://html5doctor.com/the-output-element/
        document.writeln('The HTML5 APIs used in this form are only available in the following browsers:<br />');
        // 6.0 File API & 13.0 <output>
        document.writeln(' - Google Chrome: 13.0 or later<br />');
        // 3.6 File API & 6.0 <output>
        document.writeln(' - Mozilla Firefox: 6.0 or later<br />');
        // 10.0 File API & 10.0 <output>
        document.writeln(' - Internet Explorer: Not supported (partial support expected in 10.0)<br />');
        // ? File API & 5.1 <output>
        document.writeln(' - Safari: Not supported<br />');
        // ? File API & 9.2 <output>
        document.writeln(' - Opera: Not supported');
        return false;
      }
    }

    function handleFileSelect(evt) {
      var files = evt.target.files; // FileList object
      var file = files[0];

      // read the file metadata
      var output = ''
          output += '<span style="font-weight:bold;">' + escape(file.name) + '</span><br />\n';
          output += ' - FileType: ' + (file.type || 'n/a') + '<br />\n';
          output += ' - FileSize: ' + file.size + ' bytes<br />\n';
          output += ' - LastModified: ' + (file.lastModifiedDate ? file.lastModifiedDate.toLocaleDateString() : 'n/a') + '<br />\n';

      // read the file contents
      printTable(file);

      // post the results
      $('#list').append(output);
    }

    function printTable(file) {
      var reader = new FileReader();
      reader.readAsText(file);
      reader.onload = function(event){
        var csv = event.target.result;
        var data = $.csv.toArrays(csv);
        var html = '';
        for(var row in data) {
          html += '<tr>\r\n';
          for(var item in data[row]) {
            html += '<td>' + data[row][item] + '</td>\r\n';
          }
          html += '</tr>\r\n';
        }
        $('#contents').html(html);
      };
      reader.onerror = function(){ alert('Unable to read ' + file.fileName); };
    }
  </script>
</body>
</html>

免责声明:我是 jquery-csv 的作者

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS FileReader:从本地文件和 jquery-csv 读取 CSV 的相关文章

随机推荐

  • 我可以依靠 Kafka 流中的内存 Java 集合通过微调标点和提交间隔来缓冲事件吗?

    一个自定义处理器 以简单的方式缓冲事件java util List in process 该缓冲区不是状态存储 每 30 秒 WALL CLOCK TIME punctuate 对此列表进行排序并刷新到接收器 假设只有单个分区源和接收器 需
  • 在 iOS 中解码 OpenSSL AES256 字符串

    CLI echo n TEST1 openssl enc aes256 k FUUU nosalt a bYbkQJcDFZt3y3UQEMbEeg iOS NSString leSYT bYbkQJcDFZt3y3UQEMbEeg NSD
  • 不引人注目的验证不适用于动态内容

    我在尝试让不显眼的 jquery 验证与通过 AJAX 调用动态加载的部分视图一起使用时遇到问题 我花了几天时间试图让这段代码正常工作 但没有成功 这是视图 model MvcApplication2 Models test using H
  • 在新的 Android Studio 3.4 中使用 openCV?

    这是我第一次从事处理 OpenCv 的 Android 项目 我的目标是读取车辆的车牌并从服务器获取详细信息 阅读了几篇文章后 我发现这些文章似乎已经过时了 因为我正在使用新的 Android Studio 3 4 添加模块依赖项的过程似乎
  • 如何通过XStream读取带有属性的列表元素

    我正在使用 XStream 读取下面的示例 xml 文件
  • 在 Python 中拟合分箱对数正态数据

    我有一系列按体积分数排列的粒度分布数据 如下所示 size 6 68 0 05 9 92 1 15 etc 我需要将这些数据拟合到对数正态分布 我计划使用 python 来实现stats lognorm fit函数 但这似乎期望输入作为变量
  • Cocos2d 和 iOS:无法理解使用 ccBezierConfig 的控制点的使用

    编辑 如果问题写得不好 请看视频 3 与本页底部相同的链接 我正在尝试使用绘制一条非常简单的贝塞尔曲线ccBezier配置和 Cocos2D 在维基百科上阅读时 我试图理解一些控制点并发现了这张图片 http upload wikimedi
  • 何时在 Scala 特征中使用 val 或 def?

    我正在经历有效的scala幻灯片它在幻灯片 10 上提到永远不要使用val in a trait供抽象成员使用def反而 幻灯片没有详细提及为什么使用摘要val in a trait是一种反模式 如果有人可以解释在抽象方法的特征中使用 va
  • 在 Play 中自定义 JSON 序列化

    我在用着renderJSON Object 以 JSON 值的形式返回一些对象 除了一个字段之外 它工作正常 有没有一种简单的方法可以添加该字段 而无需手动创建整个 json 模板 Play 使用 GSON 构建 JSON 字符串 如果您的
  • Xamarin Forms:从 DataTemplate 调用 ViewModel 的命令

    我在这里遇到了一个绑定问题 我创建了一个位于控件模板内的可绑定布局
  • PHP 解析目录和子目录以获取仅 jpg 图像类型的文件路径和名称

    我希望修改此 php 代码 以在具有未知数量子目录的单个已知目录上执行递归 搜索和显示图像 这是我扫描单个目录并将文件回显为 html 的代码 鉴于基本目录 base dir img 包含数量未知的子目录以及其子目录的层数 这些子目录仅包含
  • 当虚拟键盘打开时,以编程方式将控件滚动到视图中

    我有一个带有一组垂直文本框的页面 如果其中之一获得焦点 则即使显示屏幕键盘 所有这些都应该可见 它们的数量刚好足以容纳键盘上方的可用空间 当底部文本框获得焦点时 页面会自动向上滚动 以便所有文本框都可见 但如果顶部文本框获得焦点 屏幕键盘将
  • Mysqli UPDATE SET WHERE 语法错误

    所以我有这段 php 代码 if POST action newComment mysqli new mysqli localhost root nested comment new post mysqli gt real escape s
  • 隐藏用户输入,并且只允许某些字符

    在 C 中要求时有什么方法可以隐藏用户输入吗 例如 char str malloc sizeof char printf Enter something scanf s str getchar printf nYou entered s s
  • Android:Paint.breakText(...) 不准确吗?

    我有一个视图 它绘制一个矩形 其中包含一行文本 视图使用分隔文本来确保没有文本延伸到矩形之外 它会忽略任何这样做的文本 这对于某些字符来说效果很好 但通常由 l 和 f 组成的字符串会延伸到矩形之外 所以 我需要在这里进行健全性检查 下面的
  • 无法在 IE9 上通过 JavaScript 更改视频标签的来源

    您好 我正在开发 HTML5 视频播放器 目前我遇到了一个奇怪的错误 我可以在 IE 和 Chrome 中正常播放视频 但是 当我想通过 java 脚本动态更改视频源时 我遇到了麻烦 Chrome 更改视频源没有任何问题 但 IE9 保持以
  • 如何使 GET Web 服务更安全

    我已经在 PHP 中使用 GET 方法为 android 创建了 Web 服务 现在我想将其转换为 POST 以使其更安全 如何将应用程序从 GET 转换为 POST 还有其他方法可以使其更安全吗 答案取决于您想保护它免受谁的侵害 假设您想
  • __builtin_va_start 在哪里定义的?

    我正在尝试定位在哪里 builtin va startGCC的源代码中定义了它 看看它是如何实现的 我正在寻找哪里va start定义然后发现这个宏定义为 builtin va start 我用了cscope r在GCC 9 1的源代码目录
  • 写入并替换文件中的特定行

    我想替换键的值 即db host addons path with 输入文本文件包含以下内容 Test txt addons path bin root admin passwd abctest auto reload False csv
  • JS FileReader:从本地文件和 jquery-csv 读取 CSV

    我在与 html 页面相同的目录中有一个 CSV 文件 我想使用 FileReader 将文件内容读入 jquery csv 的 To Arrays 函数 但我似乎无法让它正常工作 我想我理解这个任务的异步性 但是我描述得正确吗 在这里 我