将 JSON 文件转换为 CSV 文件并使用 Node.js 显示数据
存储数据的方式有很多,以便更好地理解个人目的,在少数情况下,JSON 文件会更适合少数情况,CSV 文件,还有很多其他类型以及 XML 等。在本文中,我们将 JSON 文件数据转换为 CSV 文件数据,并通过 Node.js 显示。
JSON 代表 JavaScript 对象表示法。它是一种基于文本的数据交换格式,用于维护数据的结构。 JSON 是 JSON 中 XML 数据交换格式的替代品。与 XML 相比,数据结构很容易。它支持数组和对象等数据结构以及在服务器上快速执行的 JSON 文档。它也是一种源自 JavaScript 的与语言无关的格式。
CSV(逗号分隔值)是一种简单的文件格式,用于存储表格数据,例如电子表格或数据库。 CSV 文件以纯文本形式存储表格数据(数字和文本)。文件的每一行都是一个数据记录。每条记录由一个或多个字段组成,以逗号分隔。使用逗号作为字段分隔符是此文件格式名称的来源。
将数据存储到 CSV:有一个csv-writer是一个用于将数据存储到 CSV 的模块。
句法 :
csv-writer(path,header);
- path:下载 CSV 文件的文件路径。
- header: CSV 文件中的列名,就像字典一样。
方法:
- 安装后导入 csv-writer。
- 为它创建一个对象。
- 在常量变量中提及每列的值
- 使用 csvWriter.writeRecords(results) 通过
csv_writer_object.writeRecords(constant variable)
将数据写入 CSV
按照以下步骤将 JSON 文件转换为 CSV 文件:
- 安装依赖:
npm install csv-writer
例子
code1.js
// Import csv-writer import csvwriter from 'csv-writer' var createCsvWriter = csvwriter.createObjectCsvWriter // Passing the column names intp the module const csvWriter = createCsvWriter({ // Output csv file name is geek_data path: 'geek_data.csv', header: [ // Title of the columns (column_names) {id: 'id', title: 'ID'}, {id: 'name', title: 'NAME'}, {id: 'age', title: 'AGE'}, ] }); // Values for each column through an array const results = [ { id: '7058', name: 'Sravan Kumar Gottumukkala', age: 22 }, { id: '7004', name: 'Sudheer', age: 29 }, { id: '7059', name: 'Radha', age: 45 },{ id: '7060', name: 'vani', age: 34 } ]; // Writerecords function to add records csvWriter .writeRecords(results) .then(()=> console.log('Data uploaded into csv successfully'));
Code1.js
// Importing csv-parser into csvdata import csvdata from 'csv-parser' // Importing csv-parser into fsdata const fsdata = require('fs'); // Reading csv data row wise from geek_data csv file fsdata.createReadStream('geek_data.csv') .pipe(csvdata()) .on('data', (row) => { // Display data row by row console.log(row); }) .on('end', () => { console.log('success'); });
code1.js
// Import package csvjson import csvjson from 'csvjson' // Import fs package(file system) // for read and write files import fs from 'fs' const readFile = fs.readFile; const writeFile = fs.writeFile; // Reading json file(filename -data.json) readFile('./data.json', 'utf-8', (err, fileContent) => { if (err) { // Doing something to handle the error or just throw it console.log(err); throw new Error(err); } // Convert json to csv function const csvData = csvjson.toCSV(fileContent, { headers: 'key' }); // Write data into csv file named college_data.csv writeFile('./college_data.csv', csvData, (err) => { if(err) { // Do something to handle the error or just throw it console.log(err); throw new Error(err); } console.log('Data stored into csv file successfully'); }); });
- 要开始转换,请运行以下命令。
node code1.js
输出:
以 CSV 格式显示数据:有时我们必须在将 JSON 转换为 CSV 文件之前在服务器上显示 JSON 文件以检查数据。
方法:
- 导入 fs 和 csv-parser 模块。
- 为这两个(fsdata 和 csvdata)创建对象。
- 通过传递csv-parser对象,使用带有管道方法的createReadStream方法创建数据流。
句法:
fs_object.createReadStream('file_name.csv'),pipe(csv_parser_object())
例子:
Code1.js
// Importing csv-parser into csvdata import csvdata from 'csv-parser' // Importing csv-parser into fsdata const fsdata = require('fs'); // Reading csv data row wise from geek_data csv file fsdata.createReadStream('geek_data.csv') .pipe(csvdata()) .on('data', (row) => { // Display data row by row console.log(row); }) .on('end', () => { console.log('success'); });
- 要显示 JSON 数据,请运行以下命令。
node code1.js
输出:
将 JSON 转换为 CSV:在第一种方法中,我们在脚本中传递 JSON 数据,但我们也可以附加之前创建的 JSON 文件。
- 它用于以更少的时间处理数据。
- 它类似于数组结构。
- JSON 是人类可读和可写的,它是基于轻量级文本的数据交换格式
- 虽然它是从 JavaScript 的一个子集派生的,但它是独立于语言的。
- 因此,用于生成和解析 JSON 数据的代码可以用任何其他编程语言编写。
句法:
csvjson_object.toCSV(fileContent);
方法 :
- 在 Node.js 中定义模块
- 使用 fs 包读取文件
- 使用 toCSV 方法将 JSON 转换为 CSV
- 使用 fs 包将此数据写入 CSV 文件
按照以下步骤将 JSON 文件转换为 CSV 文件:
安装依赖:
npm install csvjson fs
例子:
code1.js
// Import package csvjson import csvjson from 'csvjson' // Import fs package(file system) // for read and write files import fs from 'fs' const readFile = fs.readFile; const writeFile = fs.writeFile; // Reading json file(filename -data.json) readFile('./data.json', 'utf-8', (err, fileContent) => { if (err) { // Doing something to handle the error or just throw it console.log(err); throw new Error(err); } // Convert json to csv function const csvData = csvjson.toCSV(fileContent, { headers: 'key' }); // Write data into csv file named college_data.csv writeFile('./college_data.csv', csvData, (err) => { if(err) { // Do something to handle the error or just throw it console.log(err); throw new Error(err); } console.log('Data stored into csv file successfully'); }); });
- 要开始转换,请运行以下命令。
node code1.js
- 输出: