我有一个仅存在一列的csv,并且我正在使用Papa Parse库来解析csv。
我收到以下错误Unable to auto-detect delimiting character; defaulted to ','

由于它仅是一列,因此不是逗号分隔的值。我尝试将delimeter config属性设置为auto delimiter: "",,但是仍然存在相同的问题

最佳答案

CSV远非标准。即使存在RFC,该格式本身也会在文档之前加上日期,而该格式始终以:


  它没有指定任何类型的Internet标准。


加上CSV通常是由快速而肮脏的工具创建的,这些工具根本不会在意互操作性。尤其是,即使是像Microsoft Excel这样的著名工具,也要根据其运行所在计算机的区域设置来生成不同的文件格式!

所有这些意味着,为了解析CSV文件,您需要确定确切的文件格式,尤其是要使用哪个字符来分隔不同的列:尽管CSV中的C代表逗号,但实际上常见的查找分号。根据软件功能,选项包括:


告诉程序
让程序猜测


在您的情况下,猜测是错误的,因为您只有一列,因此库中找不到文件中的任何分隔符。该错误消息令人困惑,因为它表明存在默认的分隔符(,),但实际上并非默认分隔符。

由于既不可能也不可能进行猜测,因此只需tell it explicitly即可使用,

{
    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
}

10-07 16:13
查看更多