我是文件阅读器的新手。添加 csv 文件时,文件读取器有时会给出这样的结果
Pillar ID,Pillar Name,Question ID,Question,Question Description,Best Practice ID,Best Practice,Best Practice Description,Risk,Recommendation,Policies\r\n
但有时它会给出这样的结果
Pillar ID,Pillar Name,Question ID,Question,Question Description,Best Practice ID,Best Practice,Best Practice Description,Risk,Recommendation,Policies\r
它没有添加新行,因此内容无法正确解析。在文件中也没有发现任何差异。可能是什么问题,您遇到过吗
没有尝试任何操作,因为这是来自 FileReader API 本身。
只需在使用内容文件进行工作之前更正它即可
HTML
<input type="file" (change)="onFileSelected($event)" accept=".csv">
TS 从 '@angular/core' 导入 { Component };
@Component({
selector: 'app-file-reader',
templateUrl: './file-reader.component.html',
styleUrls: ['./file-reader.component.css']
})
export class FileReaderComponent {
constructor() { }
onFileSelected(event: any) {
const file: File = event.target.files[0];
if (file) {
this.readFile(file);
}
}
readFile(file: File) {
const reader = new FileReader();
reader.onload = (e) => {
let csvData: string = reader.result as string;
csvData = this.correctLines(csvData);
console.log(csvData);
};
reader.onerror = (e) => {
console.error('Error occurred while reading the file');
};
reader.readAsText(file);
}
}
private correctLines(data):string {
let res = data.replace(/\n\r/g, '\r');
res = res.replace(/\r/g, '\n\r');
return res;
}