我有一个仅存在一列的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
}