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 的相关文章

  • 裁剪响应式全宽图像

    我必须剪辑跨越整个宽度的图像 以下事情对我不起作用 剪辑 这需要绝对位置 因此块元素不会堆叠在下面 背景位置 缩放时无法正确剪辑 放大时剪辑的部分会增加 反之亦然 包装器 包装器高度取决于浏览器宽度 因此其值应该是动态的 我使用了 seti
  • 是否有正确的方法将自定义 Javascript 添加到 ASP.NET MVC 5 页面?

    目前 我已将 jQuery 源文件添加到 ASP NET 项目的 Scripts 文件夹中 在 Layout cshtml 页面中 我包含了 Scripts jquery 2 1 1 min js 现在 我可以在我制作的每个页面上包含 jQ
  • 如何使用 JavaScript 或 jQuery 清除 Google Chrome、Mozilla Firefox 和 Safari 中的剪贴板数据

    我正在开发一个网站 我想在使用 JavaScript 或 jQuery 查看我的网站时按下打印屏幕按钮时清除剪贴板数据 谁能帮我解决这个问题 我在 Internet Explorer 中成功处理了这个问题 提前致谢 由于安全原因 您无法使用
  • 如何提高 highcharts 图表创建和渲染的性能

    我本地有一个文件JSON格式化数据 我创造了一点点PHP脚本在调用时回显该文件的输出AJAX 数据文件的大小是59k 我按照 highcharts 建议禁用动画和阴影 当我加载图表时 渲染需要非常非常长的时间 我已经粘贴了下面的脚本 我有什
  • 如何从 github 安装需要构建步骤的 npm 包,例如什么时候分叉一个库?

    假设您使用类似的库vue3 datepicker https www npmjs com package vue3 datepicker 您意识到您需要自定义某些内容 并且作为第一步 您想要使用它的自定义分支 问题是 当包被推送到 npm
  • ES6 在defineAsyncComponent 中命名导入

    我想异步加载我的网络应用程序的一些元素 这是旧的导入 import Popover PopoverButton PopoverPanel from headlessui vue export default components Popov
  • YouTube 播放器 API:getDuration()、getCurrentTime()、getVideoData() 不起作用

    对于我的应用程序 我尝试使用 YouTube Iframe 播放器 API 来播放视频 并允许用户更改视频而无需重新加载页面 我通过使用来实现这一点player loadVideoById video id 方法 通过YouTube视频id
  • 移动设备上的剩余悬停效果

    我一整天都在努力做这个JSFiddle http jsfiddle net gsamaras q2w4jjyt 4 也适用于手机 但我所有的尝试都没有效果 在桌面上 当用户将鼠标悬停在箭头上时 它会变成红色 在移动设备上 当用户触摸 为了单
  • 如何在模态窗口中显示pdf? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个模式窗口 其中包含锚文本 当我单击此链接时 它必须调用其他位置的 pdf 并将其显示在弹出窗口中 我怎样才能做到这一点 请帮忙
  • 从 mvc web api httpresponse 生成 csv 并通过 angularjs 接收以供下载

    我正在尝试从我的 Web api 生成一个 CSV 文件并通过 angularjs 接收该文件 我有一个如下所示的 API 控制器 HttpPost public HttpResponseMessage GenerateCSV FieldP
  • jQuery/JavaScript“this”指针混淆

    当函数时 this 的行为bar被称为让我困惑 请参阅下面的代码 当从单击处理程序调用 bar 时 有什么方法可以将 this 安排为普通的旧 js 对象实例 而不是 html 元素 a class with a method functi
  • React Native v0.71.8 React-native-vector-icons 你看不到的图标

    我在用react native版本v0 71 8 我安装了react native vector icons库 但图标未显示 似乎链接在最新版本的 React Native 中不再起作用 所以我按照说明进行操作 但它不再编译 出现以下错误
  • 如何使用 jQuery 显示“忙”指示器?

    如何在网页中的特定点显示旋转的 忙 指示器 我想在 Ajax 请求开始 完成时启动 停止指示器 这真的只是显示 隐藏 gif 动画的问题 还是有更优雅的解决方案 您可以只显示 隐藏 gif 但您也可以将其嵌入到 ajaxSetup 中 以便
  • 防止 Firefox Web 通知自动关闭

    我已经在 Firefox 中将 Web 通知与服务器发送的 DOM 事件结合使用 不幸的是 通知在大约两到三秒后消失 我更喜欢 Chrome 的方法 即让消息保持可见 在任何给定时间最多显示三个 直到用户单击通知 这是我所拥有的 windo
  • 无法使用 Excel JavaScript API 设置 NumberFormat

    我正在使用 Excel Javascript API 在搜索文档后 仍然找不到我想要实现的解决方案 因此 我想将所有内容设置为数字格式 文本 这样 Excel 的自动格式设置就不会与任何单元格的内容混淆 不会删除前导零或更改日期格式 文档建
  • 谷歌地图的灰度

    有没有什么方法可以在不丢失任何其他功能的情况下以灰度显示 Google 地图 通过 Javascript API 嵌入 是的 他们在 api V3 中引入了StyledMaps http code google com apis maps
  • 如何阻止用户重复单击 jQuery AJAX 调用?

    我有一个包含以下脚本的网页 JavaScript function LinkClicked var stage this id var stop ContentPlaceHolderMenu txtDate val var nDays Co
  • 使用 IFS bash 进行 CSV 解析:选择“;”作为分隔符

    我有一个包含 130 列的 CSV 我需要用它来做 3 个 csv 我用 while 和 IFS 循环 因为我需要对每一行的变量进行一些处理 这是我所做的 while IFS read my 130 vars what i do with
  • 为什么间接更改复选框时不会触发复选框上的 onchange

    我使用 Prototype 来监视复选框 因此我可以向它们添加 javascript 检查 当单击复选框所在的 tr 或 td 时 应选中该复选框 当您直接单击复选框时 会触发 onchange 事件 因此您会收到警报 当 javascri
  • Tizen SDK:找不到变量:tizen

    我正在尝试使用 Tizen SDK 创建一个 Web 应用程序 当我启动应用程序时 一切都很好 但是当我在模拟器上按 后退 按钮时 没有任何反应 并且我看到一条消息 55435 js main js 9 ReferenceError 找不到

随机推荐

  • 我可以依靠 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 函数 但我似乎无法让它正常工作 我想我理解这个任务的异步性 但是我描述得正确吗 在这里 我