使用本地文件了解 Papaparse
Understanding Papaparse with local file
我正在尝试了解如何使用本地文件正确实施 Papaparse。我看了很多网上资源,他们采用的方法是这样的
loadTextFromFile (event) {
if (!event.target.files[0]) {
alert('Upload a file.')
} else {
let file = event.target.files[0];
if (file) {
let reader = new FileReader();
let config = {
delimiter: "",
newline: "",
quoteChar: '"',
escapeChar: '"',
header: true,
trimHeaders: false
};
reader.onload = e => this.$emit('load', Papa.parse(event.target.result, config));
reader.onload = function (event) {
let results = Papa.parse(event.target.result, config);
console.log('PAPA RESULT: ', results.data);
console.log('ROWS:', event.target.result);
};
reader.readAsText(file);
} else {
alert('Please select a file to upload.')
}
}
}
所以他们使用了 FileReader,它似乎直到 readAsText
结束才加载文件。然而,上面的例子完美运行,虽然我仍然需要完全理解代码。
然后还有其他例子,似乎没有 FileReader
loadTextFromFile (event) {
if (!event.target.files[0]) {
alert('Upload a file.')
} else {
let file = event.target.files[0];
if (file) {
Papa.parse(file, {
header: true,
dynamicTyping: true,
complete: function(results) {
console.log(results.data)
}
});
} else {
alert('Please select a file to upload.')
}
}
}
再一次,这很完美。所以我想了解的是为什么人们有时会使用 FileReader,也许还有关于第一个示例中到底发生了什么的解释。
我应该使用什么选项?
谢谢
看起来第一个示例并没有真正意义——他们分配了两次 reader.onload
,所以甚至没有使用执行 $emit
事情的第一个分配。
我会说第一个例子有点草率和不必要。使用您自己的 FileReader 的唯一原因是:
- 渴望学习如何使用 FileReader API,
- 出于某种原因需要自定义 FileReader
- 想要计算加载文件需要多长时间与 Papa 解析内容需要多长时间
我主要会忽略第一个示例,并坚持使用 Papa 文档中更清晰、更简单的示例。
我正在尝试了解如何使用本地文件正确实施 Papaparse。我看了很多网上资源,他们采用的方法是这样的
loadTextFromFile (event) {
if (!event.target.files[0]) {
alert('Upload a file.')
} else {
let file = event.target.files[0];
if (file) {
let reader = new FileReader();
let config = {
delimiter: "",
newline: "",
quoteChar: '"',
escapeChar: '"',
header: true,
trimHeaders: false
};
reader.onload = e => this.$emit('load', Papa.parse(event.target.result, config));
reader.onload = function (event) {
let results = Papa.parse(event.target.result, config);
console.log('PAPA RESULT: ', results.data);
console.log('ROWS:', event.target.result);
};
reader.readAsText(file);
} else {
alert('Please select a file to upload.')
}
}
}
所以他们使用了 FileReader,它似乎直到 readAsText
结束才加载文件。然而,上面的例子完美运行,虽然我仍然需要完全理解代码。
然后还有其他例子,似乎没有 FileReader
loadTextFromFile (event) {
if (!event.target.files[0]) {
alert('Upload a file.')
} else {
let file = event.target.files[0];
if (file) {
Papa.parse(file, {
header: true,
dynamicTyping: true,
complete: function(results) {
console.log(results.data)
}
});
} else {
alert('Please select a file to upload.')
}
}
}
再一次,这很完美。所以我想了解的是为什么人们有时会使用 FileReader,也许还有关于第一个示例中到底发生了什么的解释。
我应该使用什么选项?
谢谢
看起来第一个示例并没有真正意义——他们分配了两次 reader.onload
,所以甚至没有使用执行 $emit
事情的第一个分配。
我会说第一个例子有点草率和不必要。使用您自己的 FileReader 的唯一原因是:
- 渴望学习如何使用 FileReader API,
- 出于某种原因需要自定义 FileReader
- 想要计算加载文件需要多长时间与 Papa 解析内容需要多长时间
我主要会忽略第一个示例,并坚持使用 Papa 文档中更清晰、更简单的示例。