从CSV文件阅读数据- Angular JS

vyswwuz2  于 2023-07-31  发布在  Angular
关注(0)|答案(1)|浏览(124)

我正在尝试使用angular JS将csv文件转换为JSON。我将CSV文件作为用户的输入。我的html代码如下

<div class="input-group input-group-sm" id="fileUploader">
        <span class="input-group-btn">
            <span class="btn btn-primary btn-file">
                Browse<input type="file" ngf-select ng-model="csvFile" name="file" accept=".csv"></input>
            </span>
        </span>         
        <input type="text" class="form-control" placeholder="Choose file" value={{csvFile.name}} readonly></input>
        <span class="input-group-btn">
            <button class="btn btn-primary" type="submit" ng-click="onFileSelect(csvFile)">Ok</button>
        </span>
    </div>

字符串
我的控制器如下

$scope.onFileSelect = function($scope, $http,Upload) 
    {
      console.log("Hello from login controller");
        $scope.onFileSelect = function(file) {
            if (angular.isArray(file)) {
                file = file[0];
            }
            if (file.type !== 'text/csv'){
                alert('Only CSV are accepted.');
                return;
            }
            //want to convert the file to JSON.  
        };
}


我按照这个链接中的例子JS Fiddle
在那个例子中,他按如下方式获取输入

<textarea id="csv" class="text">
    "Id","UserName"
    "1","Sam Smith"
    "2","Fred Frankly"
    "1","Zachary Zupers"
</textarea>


在他的控制器中他正在执行以下操作

var csv = $("#csv").val();
var json = CSV2JSON(csv);


但我有一个csv文件,如图所示


的数据
有人能告诉我如何将控制器中的file变量转换为示例中CSV2JSON函数所接受的格式吗?

wribegjk

wribegjk1#

你可以试试这个npm包:https://www.npmjs.com/package/csv-grape
获取所有csv内容

CsvGrape.getCsvData(event).then((_response)=>{
  this.data=_response;
  
},(reject)=>{
  //log
});

字符串
你也可以得到csv文件的元数据

CsvGrape.getCsvWithMetaData(event).then((_response)=>{
      this.csvJsonAndMetaData=_response;
    },(reject)=>{
      //log
    });

相关问题