【发布时间】:2019-09-20 17:53:23
【问题描述】:
首先,我使用 Node.js 中的 CSV 解析器
首先是这段代码:
const parse = require("csv-parse/lib/sync");
const fs = require("fs");
const filePath = req.file.path;
const csvContent = fs.readFileSync(filePath);
const records = parse(csvContent, {
columns: false,
skip_empty_lines: true,
skip_lines_with_error: true,
delimiter: ";"
});
现在我遇到的问题是,如果列为真,则不会解析相同的列名。如果列为真,则控制台中的结果为:
const records = parse(csvContent, {
columns: true,
[ { Referenz: 'Beispielwert1',
Client: 'Beispielwert2',
Clienthauptgruppe: 'Beispielwert3',
Kontrahent: 'Beispielwert4',
Kontrahentenhauptgruppe: 'Beispielwert5',
Bank: 'Beispielwert6',
Back_to_Back: 'Beispielwert7',
Int_Ext: 'Beispielwert8',
Valuta: 'Beispielwert9',
Geschaeftsart: 'Beispielwert10',
Kauf_Verkauf: 'Beispielwert11',
Wrg: 'Beispielwert12',
Diff_In_Hauswaehrung: 'Beispielwert13,
Hauswaehrung: 'Beispielwert14',
Marktwert_NPV: 'Beispielwert5' },
{ Referenz: 'Beispielwert1',
Client: 'Beispielwert2',
Clienthauptgruppe: 'Beispielwert3',
Kontrahent: 'Beispielwert4',
Kontrahentenhauptgruppe: 'Beispielwert5',
Bank: 'Beispielwert6',
Back_to_Back: 'Beispielwert7',
Int_Ext: 'Beispielwert8',
Valuta: 'Beispielwert9',
Geschaeftsart: 'Beispielwert10',
Kauf_Verkauf: 'Beispielwert11',
Wrg: 'Beispielwert12',
Diff_In_Hauswaehrung: 'Beispielwert13,
Hauswaehrung: 'Beispielwert14',
Marktwert_NPV: 'Beispielwert5' }]
如果列为假,则控制台中的结果为:
const records = parse(csvContent, {
columns: false,
[ [ 'Referenz',
'Client',
'Clienthauptgruppe',
'Kontrahent',
'Kontrahentenhauptgruppe',
'Bank',
'Back_to_Back',
'Int_Ext',
'Valuta',
'Geschaeftsart',
'Kauf_Verkauf',
'Wrg',
'Diff_In_Hauswaehrung',
'Hauswaehrung',
'Marktwert_NPV'
'Wrg'],
[ 'Beispielwert1',
'Beispielwert2',
'Beispielwert3',
'Beispielwert4',
'Beispielwert5',
'Beispielwert6',
'Beispielwert7',
'Beispielwert8',
'Beispielwert9',
'Beispielwert10',
'Beispielwert11',
'Beispielwert12',
'Beispielwert13',
'Beispielwert14',
'Beispielwert15'
'Beispielwert16' ],
[ 'Beispielwert1',
'Beispielwert2',
'Beispielwert3',
'Beispielwert4',
'Beispielwert5',
'Beispielwert6',
'Beispielwert7',
'Beispielwert8',
'Beispielwert9',
'Beispielwert10',
'Beispielwert11',
'Beispielwert12',
'Beispielwert13',
'Beispielwert14',
'Beispielwert15'
'Beispielwert16' ]]
例如,这里的列 Wrg 是双列,如果列位于:true.. 它不存在
现在,如果列为真,我希望再次使用与上述相同的形式.. 但是如果多个数组在一个变量(记录)中,我如何将多个数组放入一个对象?
最好的问候
弗雷德里克
【问题讨论】:
-
我建议将您需要的结果添加到您的问题中,是这样的:{ 'Referenz': ['Beispielwert1','Beispielwert1','Beispielwert1'], 'Client': [' Beispielwert2','Beispielwert2','Beispielwert2'] ...谢谢!
-
我需要的结果是如果列是“真”但例如双列 Wrg 不存在时我得到的结果。因此我需要相同的结构但现在使用双列..而且我认为无法避免重建,因为只有当列为“假”时,双列才存在。
-
啊,是的,谢谢……我现在明白了!
标签: javascript node.js