Javascript解析文本数据错误?
我正试图解析本地目录中的一些数据。 我使用papa解析器来做这件事。 问题是我无法将文本文件分配到变量中。我得到了这个错误 未捕获类型错误:未能在“FileReader”上执行“readAsText”:参数1不是“Blob”类型。 我已经搜索过了,我发现在使用HTML文件阅读器读取文件时,这是一个非常常见的错误 我的代码是Javascript解析文本数据错误?,javascript,parsing,filereader,papaparse,Javascript,Parsing,Filereader,Papaparse,我正试图解析本地目录中的一些数据。 我使用papa解析器来做这件事。 问题是我无法将文本文件分配到变量中。我得到了这个错误 未捕获类型错误:未能在“FileReader”上执行“readAsText”:参数1不是“Blob”类型。 我已经搜索过了,我发现在使用HTML文件阅读器读取文件时,这是一个非常常见的错误 我的代码是 解析示例 点击按钮上传 负载 var x; 变量配置={ 分隔符:“”,//自动检测 换行:,//自动检测 标题:对, 动态打字:错误, 预览:0, 编码:“, 工人:错
解析示例
点击按钮上传
负载
var x;
变量配置={
分隔符:“”,//自动检测
换行:,//自动检测
标题:对,
动态打字:错误,
预览:0,
编码:“,
工人:错,
评论:错,
步骤:未定义,
完成:未定义,
错误:未定义,
下载:对,
skipEmptyLines:错误,
块:未定义,
fastMode:未定义,
beforeFirstChunk:未定义,
withCredentials:未定义
};
函数myFunction(){
x=document.getElementsByName(“数据文件”);
myfile=Papa.parse(x,config);
document.getElementById(“demo”).innerHTML=myfile;
}
getElementsByName
返回始终返回匹配元素的节点列表集合,所以基本上您可以只选择第一个:x=document.getElementsByName(“数据文件”)[0]
Papa.parse
要求它的第一个参数是字符串或文件
对象<代码>文件对象可以从文件列表
中获得,它存储在文件输入的文件
属性中。因此,基本上(如果在输入中选择了文件,它应该可以工作):
x=document.getElementsByName(“数据文件”)[0]。文件[0]
Papa.parse本身不返回任何内容,您应该提供回调来获取数据。因此,如果将config
对象中的complete:undefined
替换为
complete: function(data) {
console.log(data);
}
您将在浏览器控制台中显示数据
它已经起作用了,但是如果一开始我有一个更长的文档呢?我需要一个for循环来获取每一行吗?我不明白这个问题,你能解释一下吗?代码已经运行了。但不是我想要的方式。我没有收到任何错误,我的数据也没有读取。读取数据后,我得到一个空的数组状对象。我在问是因为线条结构吗?例如,我应该写一个循环,比如;对于i=0到line_lenght line(i)=x=document.getElementsByName(“数据文件”)[i].files[i]我已经更新了答案:您必须使用回调来获取数据。前两部分与行结构无关:第一部分只是关于获取HTML节点,您可以使用
document.getElementById
方法,它返回单个节点,第一个[0]
可能会被丢弃。第二部分是关于从文件输入中获取文件对象