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(); }