我有一个只存在一列的csv,我正在使用Papa Parse库来解析csv。
我收到以下错误Unable to auto-detect delimiting character; defaulted to ','
由于它只是一个列,因此不是逗号分隔值。我尝试将delimeter配置属性设置为自动delimiter: "",
,但仍然存在同样的问题
答案 0 :(得分:3)
CSV远非标准。即使有RFC,格式本身也会在文档之前进行,但无论如何都要从文档开始:
它没有指定任何类型的互联网标准。
Plus CSV通常由快速而肮脏的工具创建,这些工具对互操作性的关注度较低。特别是,即使像Microsoft Excel这样的知名工具也会生成不同的文件格式,具体取决于运行它的计算机的区域设置!
所有这些意味着,为了解析CSV文件,您需要确定确切的文件格式,特别是用于分隔不同列的字符:尽管CSV中的C代表逗号,找到分号也很常见。根据软件功能选项包括:
在您的情况下,猜测出错是因为您只有一列,因此文件库中找不到任何分隔符。但是,错误消息令人困惑,因为它表明它有一个默认的分隔符(db.roleSchema.aggregate([
{$match:{name:'Super Admin'},
{$lookup: {from: "userSchema",localField: "_id",foreignField: "role",as: "userSchema"}},
{$unwind : "$userSchema"},
{$group:{
_id:'$users._id',
username:{$first:'$users.username'},
email:{$first:'$users.email'}
}}
])
),但它实际上并不是默认的。
由于既不可能也不需要猜测,只需tell it explicitly使用,
:
,
答案 1 :(得分:1)
如果将其设置为单个空格delimiter:" "
,则会解析。
答案 2 :(得分:0)
delimiter: "\n"
对我来说适合单列!