Compare commits
2 Commits
9faa6ea31a
...
20557ccf58
Author | SHA1 | Date | |
---|---|---|---|
![]() |
20557ccf58 | ||
![]() |
bf3dcc1b04 |
15
index.html
15
index.html
@ -31,20 +31,5 @@
|
|||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
<script src="dist/bundle.js"></script>
|
<script src="dist/bundle.js"></script>
|
||||||
<!-- <script>
|
|
||||||
document
|
|
||||||
.getElementById('csvInput')
|
|
||||||
.addEventListener('change', function (event) {
|
|
||||||
const file = event.target.files[0];
|
|
||||||
if (file) {
|
|
||||||
const reader = new FileReader();
|
|
||||||
reader.onload = function (e) {
|
|
||||||
const content = e.target.result;
|
|
||||||
document.getElementById('csvText').innerText = content;
|
|
||||||
};
|
|
||||||
reader.readAsText(file);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script> -->
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,10 +1,35 @@
|
|||||||
|
import { CSVParseParam } from '../node_modules/csvtojson/v2/Parameters';
|
||||||
import { isJunk } from './utils';
|
import { isJunk } from './utils';
|
||||||
|
|
||||||
const csvBOM = '/tests/bom.csv';
|
|
||||||
const csv = require('csvtojson');
|
const csv = require('csvtojson');
|
||||||
|
|
||||||
export function csvToJSON(csvBOM: string): void {
|
//CSV Config for EAGLE BOM
|
||||||
csv()
|
const csvConfig = {
|
||||||
|
delimiter: `;`,
|
||||||
|
// quote: 'off',
|
||||||
|
ignoreEmpty: true,
|
||||||
|
includeColumns: /(Part|Value)/,
|
||||||
|
};
|
||||||
|
|
||||||
|
export async function csvToJSON(csvBOM: string) {
|
||||||
|
// csv()
|
||||||
|
// .fromString(csvBOM)
|
||||||
|
// .then((jsonObj: object) => {
|
||||||
|
// console.log(jsonObj);
|
||||||
|
// });
|
||||||
|
const obj: object = await csv({ csvConfig })
|
||||||
|
.preRawData((csvRawData: string) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
var newData = csvRawData.replace('"', '');
|
||||||
|
resolve(newData);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.fromString(csvBOM)
|
||||||
|
.then((jsonObj: object) => {
|
||||||
|
return jsonObj;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export function simpleCsvToJSON(csvBOM: string) {
|
||||||
|
csv({ csvConfig })
|
||||||
.fromString(csvBOM)
|
.fromString(csvBOM)
|
||||||
.then((jsonObj: object) => {
|
.then((jsonObj: object) => {
|
||||||
console.log(jsonObj);
|
console.log(jsonObj);
|
||||||
|
11
src/index.ts
11
src/index.ts
@ -1,18 +1,25 @@
|
|||||||
//Modules
|
//Modules
|
||||||
import { csvToJSON } from './csvToJSON';
|
import { csvToJSON } from './csvToJSON';
|
||||||
|
|
||||||
|
//DOM elements
|
||||||
const input = document.getElementById('csvInput') as HTMLInputElement;
|
const input = document.getElementById('csvInput') as HTMLInputElement;
|
||||||
const csvText = document.getElementById('csvText') as HTMLPreElement;
|
const csvTextOutput = document.getElementById('csvText') as HTMLPreElement;
|
||||||
|
let rawCSV: string;
|
||||||
|
|
||||||
//Functions
|
//Functions
|
||||||
function handleUpload(event: Event) {
|
function handleUpload(event: Event) {
|
||||||
const file = (event.target as HTMLInputElement).files![0];
|
const file = (event.target as HTMLInputElement).files![0];
|
||||||
if (file) {
|
if (file) {
|
||||||
|
//Read in from the file
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
reader.onload = function (e) {
|
reader.onload = function (e) {
|
||||||
const content = (e.target as FileReader).result;
|
const content = (e.target as FileReader).result;
|
||||||
if (content === null) throw new Error('CSV Cannot be null.');
|
if (content === null) throw new Error('CSV Cannot be null.');
|
||||||
csvText.innerText = content.toString();
|
const csvString = content.toString();
|
||||||
|
//Display the CSV contents
|
||||||
|
csvTextOutput.innerText = csvString;
|
||||||
|
//Get JSON object from the file
|
||||||
|
console.log();
|
||||||
};
|
};
|
||||||
reader.readAsText(file);
|
reader.readAsText(file);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user