Lire le fichier CSV avec Javascript dans un ensemble de paires de valeurs clés

Il existe de nombreux exemples de lecture d'un fichier CSV utilisant jQuery, mais les exemples de javascript sont peu nombreux.

Comme j'utilise un éditeur de script interne pour une application particulière, je suis limité à utiliser uniquement Javascript.

J'ai un fichier csv qui comporte des rubriques suivies de données dans chaque ligne.

Heading1,Heading2,Heading3,Heading4 row1data1,row1data2,row1data3,row1data4 row2data1,row2data2,row2data3,row2data4 

Le délimiteur utilisé est , mais il pourrait y en avoir d'autres, par exemple.

Comme je ne peux pas télécharger un fichier, j'ai la possibilité de référencer manuellement un chemin absolu.

Existe-t-il une façon d'utiliser uniquement javascript pour lire un fichier csv?

Au début, voici quelques façons de lire un fichier avec javascript

HttpRequest: (à partir du serveur Web ou du chemin absolu)

Source: Javascript – lisez le fichier texte local

 function readTextFile(file) { var rawFile = new XMLHttpRequest(); rawFile.open("GET", file, true); rawFile.onreadystatechange = function () { if(rawFile.readyState === 4) { if(rawFile.status === 200 || rawFile.status == 0) { var allText = rawFile.responseText; alert(allText); } } } rawFile.send(null); } 

Et spécifiez le fichier: // dans votre nom de fichier lorsque vous utilisez un chemin absolu

 readTextFile("file:///C:/your/path/to/file.txt"); 

API FileReader:

La source:
http://codepen.io/matt-west/pen/KjEHg
http://blog.teamtreehouse.com/reading-files-using-the-html5-filereader-api

HTML

 <div id="page-wrapper"> <h1>Text File Reader</h1> <div> Select a text file: <input type="file" id="fileInput"> </div> <pre id="fileDisplayArea"><pre> </div> 

JS

 window.onload = function() { var fileInput = document.getElementById('fileInput'); var fileDisplayArea = document.getElementById('fileDisplayArea'); fileInput.addEventListener('change', function(e) { var file = fileInput.files[0]; var textType = /text.*/; if (file.type.match(textType)) { var reader = new FileReader(); reader.onload = function(e) { fileDisplayArea.innerText = reader.result; } reader.readAsText(file); } else { fileDisplayArea.innerText = "File not supported!" } }); } 

JS sur MS Windows (exemple simple)

Source: http://msdn.microsoft.com/en-us/library/czxefwt8(v=vs.84).aspx

 function ReadFiles() { var fso, f1, ts, s; var ForReading = 1; fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fso.OpenTextFile("c:\\testfile.txt", ForReading); s = ts.ReadLine(); // s holds the text content ts.Close(); }