Qualcuno sa come ottenere un file csv url e convertirlo in un oggetto json in modo che possa utilizzare gli strumenti di google charting in js?convertire il file csv in json object datatable
risposta
Per quanto ne so, per la maggior parte degli scenari, è possibile trasformare csv in un array js di matrici, una matrice o qualsiasi oggetto javascript che segue la convenzione del proprio strumento di creazione di grafici.
Potrebbe essere necessario:
- Prendi il contenuto del file CSV
- Parse it
- Avvolgere i risultati da 2 nel vostro JSON strumento di creazione di grafici
- Chiama tua libreria grafici
Per 1, se il file CSV è ospitato nel dominio, è possibile eseguire una semplice XMLHttpRequest, altrimenti provare a cercare qui "s politica di origine ".
La parte difficile è il punto 2. Ho visto diversi tentativi falliti per analizzare i file CSV a mano (il punto e virgola può essere contenuto come parte del valore, ecc.) ... Controlla il link.
CSV e JSON sono formati diversi. JSON è gerarchico mentre CSV rappresenta un elenco di valori. Quindi immagino che sarà necessario prima analizzare il CSV (using a parser ovviamente e not implementing yourself). Questo parser ti darà un oggetto che potresti serializzare in JSON o probabilmente convertirlo in un altro oggetto prima di serializing (ancora usando un parser) per ottenere il formato desiderato.
Mi rendo conto che questa è una domanda vecchia, ma oggi mi sono imbattuto in tutto ciò che ha bisogno di fare la stessa cosa e ho scritto una sceneggiatura per farlo. Puoi verificarlo sul mio github repo.
Il seguente codice dovrebbe compiere ciò che stai dopo (usando jQuery):
$.ajax("http://my.domain.com/mycsvfile.csv", {
success: function(data) {
var jsonobject = csvjson.csv2json(data);
// Now use jsonobject to do some charting...
},
error: function() {
// Show some error message, couldn't get the CSV file
}
});
Felice di codifica :)
Ho appena usato il file per ottenere un rapido prototipo di qualcosa. Sembrava buono fino a quando ho scoperto che i personaggi stavano trovando la loro strada in un Mongo (non avevo notato prima di allora). Alcuni punti nel codice richiedevano myString.replace (/ \ r/gm, "") per ripulirlo. – joevallender
@joevallender Grazie per averlo indicato. Qualche possibilità di ricordare ancora cosa hai dovuto fare e creare un problema per questo?https://github.com/aaronsnoswell/csvjson.js/issues/new. – aaronsnoswell
Avrei inviato una richiesta di pull se non lo stavo facendo al volo, lascerò cadere alcune note nella coda dei problemi ora – joevallender
utilizzare questo codice per guida analizzare il file csv a JSON ...
function processFiles(files) {
var file = files[0];
var reader = new FileReader();
reader.onload = function (e) {
var output = document.getElementById("fileOutput");
var texto = e.target.result;
csvJSON(texto);
};
reader.readAsText(file);
}
function csvJSON(csv) {
var lines = csv.split("\n");
var result = [];
var headers;
for (var i = 0; i < lines.length; i++) {
headers = lines[i].split("\n");
}
var cont = 0;
for (var i = 0; i < lines.length; i++) {
var obj = {};
var currentline = lines[i].split("\n");
for (var j = 0; j < headers.length; j++) {
obj[cont] = currentline[j];
}
cont++;
result.push(obj);
}
return JSON.stringify(result); //JSON
}
Papa Parse è bello per quello.
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="libraries/PapaParse-4.1.2/papaparse.min.js"></script>
<script>
$(document).ready(function(){
$("#submitbutton").click(function(){
var myfile = $("#csvfile")[0].files[0];
var json = Papa.parse(myfile,
{
header: true,
skipEmptyLines: true,
complete: function(results) {
console.log("Dataframe:", JSON.stringify(results.data));
console.log("Column names:", results.meta.fields);
console.log("Errors:", results.errors);
}
});
})
})
</script>
</head>
<body>
<form name="foo" method="post" enctype="multipart/form-data">
<input id="csvfile" type="file" value="i">
</form>
<button id="submitbutton" type="button">Upload CSV file!</button>
</body>
</html>
caricamento di questo CSV:
+------+----------------+---------------+------------+
| Id | Petal.Length | Petal.Width | Species |
+======+================+===============+============+
| 1 | 1.4 | 0.2 | setosa |
+------+----------------+---------------+------------+
| 2 | 1.4 | 0.2 | setosa |
+------+----------------+---------------+------------+
| 3 | 1.3 | 0.2 | setosa |
+------+----------------+---------------+------------+
| 4 | 3.9 | 1.4 | versicolor |
+------+----------------+---------------+------------+
| 5 | 3.5 | 1 | versicolor |
+------+----------------+---------------+------------+
| 6 | 4.2 | 1.5 | versicolor |
+------+----------------+---------------+------------+
| 7 | 5.4 | 2.3 | virginica |
+------+----------------+---------------+------------+
| 8 | 5.1 | 1.8 | virginica |
+------+----------------+---------------+------------+
Otterrete questo output nella console:
Dataframe: [{"Id":"1","Petal.Length":"1.4","Petal.Width":"0.2","Species":"setosa"},{"Id":"2","Petal.Length":"1.4","Petal.Width":"0.2","Species":"setosa"},{"Id":"3","Petal.Length":"1.3","Petal.Width":"0.2","Species":"setosa"},{"Id":"4","Petal.Length":"3.9","Petal.Width":"1.4","Species":"versicolor"},{"Id":"5","Petal.Length":"3.5","Petal.Width":"1","Species":"versicolor"},{"Id":"6","Petal.Length":"4.2","Petal.Width":"1.5","Species":"versicolor"},{"Id":"7","Petal.Length":"5.4","Petal.Width":"2.3","Species":"virginica"},{"Id":"8","Petal.Length":"5.1","Petal.Width":"1.8","Species":"virginica"}]
Column names: ["Id", "Petal.Length", "Petal.Width", "Species"]
Errors: []
- 1. Il modo più efficiente di convertire un DataTable in CSV
- 2. Come convertire JSON in datatable?
- 3. Libreria PHP per convertire JSON in CSV?
- 4. Come convertire DataSet in DataTable
- 5. Come posso convertire il mio JSON in CSV usando jq?
- 6. Creazione di un DataTable dal file CSV
- 7. Converti DataTable in stream CSV
- 8. convertire in un file CSV utilizzando R
- 9. Come convertire il file excel stream in C# datatable?
- 10. Python - converte file csv in JSON
- 11. Converti JSON per DataTable
- 12. Converti .json in .csv in ruby
- 13. Converti JSON in CSV
- 14. Convertire il file .db del database in .csv
- 15. esportare dati da dataTable dc.js in CSV
- 16. come convertire un file XML in file CSV in javascript
- 17. Come convertire IQueryable in DataTable
- 18. Come convertire CSV in Excel?
- 19. Conversione di un file csv in json usando C#
- 20. Come convertire il formato MetaStock in CSV?
- 21. Come convertire JSON String con campi dinamici su Object?
- 22. Json - Java Object to Json
- 23. Come serializzare Object in JSON?
- 24. PHP Array to Json Object
- 25. convertire i dati csv in DataBase in VB.net
- 26. Import CSV/JSON in giada
- 27. Come posso convertire un DataTable in un IEnumerable <Dictionary <string, object >>?
- 28. DataTable to List <object>
- 29. Conversione da JSON a CSV e CSV a JSON in C#
- 30. PHP/JSON - stdClass Object
Stai cercando di analizzare il CSV in JS o in un'altra lingua e solo che uscita JSON per JS? –
Sono stato in grado di analizzare i file CSV in due array in C# sul back-end. Ora vorrei creare un oggetto JSON (che posso usare sul front-end usando i dati di questi due array) per associarmi a un grafico di google js api. – locoboy