Papa Parse单列错误 无法自动检测分隔符; 默认为','

5

我有一个只有一列的csv文件,我正在使用Papa Parse库来解析这个csv。我收到了以下错误:无法自动检测分隔符; 默认为','

由于它只有一列,所以它不是逗号分隔值。我尝试将分隔符配置属性设置为自动delimiter: "",但仍然存在同样的问题。


如果您明确将分隔符设置为“,”,会发生什么? - Álvaro González
3个回答

8
CSV远非标准。尽管有RFC,但该格式早于该文档,文档本身始于以下内容:
它不指定任何互联网标准。
此外,CSV通常由粗糙的工具创建,这些工具完全不关心互操作性。特别是,即使像Microsoft Excel这样的知名工具也会根据运行它的计算机的区域设置生成不同的文件格式!
所有这些意味着,为了解析CSV文件,您需要确定确切的文件格式,特别是正在用于分隔不同列的字符:尽管CSV中的C代表逗号,但发现分号同样常见。根据软件功能,选项包括:
告诉程序 让程序猜测
在您的情况下,猜测会失败,因为您只有一列,因此文件中没有库可以找到的分隔符。然而,错误消息很令人困惑,因为它暗示有一个默认分隔符(),但实际上并没有默认到它。

既然猜测既不可能也不必要,只需明确地告诉它使用,即可:

{
    delimiter: "",  // auto-detect <--------- We don't want this!
    newline: "",    // auto-detect
    quoteChar: '"',
    header: false,
    dynamicTyping: false,
    preview: 0,
    encoding: "",
    worker: false,
    comments: false,
    step: undefined,
    complete: undefined,
    error: undefined,
    download: false,
    skipEmptyLines: false,
    chunk: undefined,
    fastMode: undefined,
    beforeFirstChunk: undefined,
    withCredentials: undefined
}

2
如果您将其设置为单个空格delimiter:" ",它将进行解析。

0

delimiter: "\n" 对于单列的情况适用!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接