Open jvfd3 opened 8 months ago
import Papa from "papaparse";
import coursesCSV from "../../../../DB/localCSV/courses.csv";
const localPath = "../../../../DB/localCSV/courses.csv";
import axios from "axios";
import csv from "csv-parser";
async function getCsvData(url, callback) {
const response = await axios.get(url);
const csvData = response.data;
const results = [];
csvData
.pipe(csv({ separator: ";" }))
.on("data", (data) => results.push(data))
.on("end", () => {
callback(results);
});
}
function Courses() {
// const defaultCourses = sqlDataFromJson.courses ?? [];
const csvText = `\
id;idCenter;alias;name
1;1;CC;Ciencia da Computacao
2;1;Eng Civ;Engenharia Civil
3;1;Lic Fis;Licenciatura em Fisica
4;1;Lic Qui;Licenciatura em Quimica
5;1;Eng Prod;Engenharia de Producao
6;1;Eng Met;Engenharia Meteorologica
7;1;Lic Mat;Licenciatura em Matematica
8;1;Eng Mat;Engenharia Metalurgica e de Materiais
9;1;Lic Qui EAD;Licenciatura em Quimica a Distancia
10;1;Eng Petr;Engenharia de Exploracao e Producao de Petroleo\
`;
let parsedData1;
let parsedData2;
let parsedData3;
Papa.parse(coursesCSV, {
delimiter: ";",
header: true,
complete: function (results) {
parsedData1 = results.data;
},
});
Papa.parse(localPath, {
delimiter: ";",
header: true,
complete: function (results) {
parsedData2 = results.data;
},
});
Papa.parse(csvText, {
delimiter: ";",
header: true,
complete: function (results) {
parsedData3 = results.data;
},
});
let parsedData4;
let parsedData5;
let parsedData6;
getCsvData(coursesCSV, function (data) {
parsedData4 = data;
});
getCsvData(localPath, function (data) {
parsedData5 = data;
});
getCsvData(csvText, function (data) {
parsedData6 = data;
});
// console.log("parsed from path", parsedData1);
// const defaultCourses = [];
// const [courses, setCourses] = useState(defaultCourses);
// const [subject, setCourse] = useState(
// courses?.[configInfo.defaultIndexes.subject] ?? courses?.[0]
// );
// const subjectStates = { courses, setCourses, subject, setCourse };
// useEffect(() => {
// readCourse(subjectStates);
// }, []);
return (
<div className={defaultClassNames.containerCards}>
{parsedData1.length}, {parsedData4.length}
<br />
{parsedData2.length}, {parsedData5.length}
<br />
{parsedData3.length}, {parsedData6.length}
Tentei fazer algo aqui, mas o papaparser só funciona legal com o texto, e o JavaScript só processa legal o JSON, não o CSV. Para funcionar, teria que usar o axios ou algo assim... vou tentar isso agora, inclusive
import Papa from "papaparse";
import coursesCSV from "../../../../DB/localCSV/courses.csv";
import axios from "axios";
const localPath = "../../../../DB/localCSV/courses.csv";
async function getCsvData(url, callback) {
const response = await axios.get(url);
const csvData = response.data;
Papa.parse(csvData, {
delimiter: ";",
header: true,
complete: function (results) {
callback(results.data);
},
});
}
function Courses() {
let parsedData5;
getCsvData(localPath, function (data) {
parsedData5 = data;
});
Também não deu certo
Talvez fique mais fácil de alterar no Excel... 🤔