Как избежать ошибки, вызывающей csvtojson
Я пытаюсь использовать csvtojson
const csv = require("csvtojson");
const csvFilePath = require('./../../books.csv');
csv()
.fromFile(csvFilePath)
.then((jsonObj)=>{
console.log(jsonObj);
})
Мой файл.csv
Book,Author,Amount,Price
The Compound Effect,Darren Hardy,5,9.48
The 7 Habits of Highly Effective People,Stephen R. Covey,4,23.48
The Miracle Morning,Hal Elrod,10,21.34
Influence: The Psychology of Persuasion,Robert B. Cialdini,4,12.99
The ONE Thing,Gary Keller,1,11.18
И у меня следующая ошибка
The Compound Effect,Darren Hardy,5,9.48
^^^^^^^^
SyntaxError: Unexpected identifier
at Module._compile (internal/modules/cjs/loader.js:723:23)
Что случилось? Спасибо)
3 ответа
Проблема здесь в том, что вы используете функцию require('./../../books.csv');
чтобы импортировать ваш файл.
После прочтения документации могу заверить, что вам нужно только указать путь к файлу CSV.
Итак, ваш код должен быть таким:
const csv = require('csvtojson');
const csvFilePath = './../../books.csv';
csv().fromFile(csvFilePath).then((jsonObj)=>{
console.log(jsonObj);
})
И желаемый результат должен быть:
[ { Book: 'The Compound Effect',
Author: 'Darren Hardy',
Amount: '5',
Price: '9.48' },
{ Book: 'The 7 Habits of Highly Effective People',
Author: 'Stephen R. Covey',
Amount: '4',
Price: '23.48' },
{ Book: 'The Miracle Morning',
Author: 'Hal Elrod',
Amount: '10',
Price: '21.34' },
{ Book: 'Influence: The Psychology of Persuasion',
Author: 'Robert B. Cialdini',
Amount: '4',
Price: '12.99' },
{ Book: 'The ONE Thing',
Author: 'Gary Keller',
Amount: '1',
Price: '11.18' } ]
Проблема решилась изменением пути)
const csvFilePath = './../../books.csv';
к
const csvFilePath = `${__dirname}/../../books.csv`;
Однако я не думаю, что в этом случае использовать "__dirname" - хорошая идея. Если есть идеи по этому поводу, напишите, пожалуйста)
Я думаю, тебе следовало бы "
в вашем.csv файле или используйте quote
для вариантов обработки