我有一個CSV檔案(本地),將其轉換為一個字串,字串的一部分是這樣的:
44,"3845657" /span>
51,"3847489"。
1,"3888510"。
79,"3840471"。
57,"3864492"。
當我收到輸入的數字(第一個值)后,我想將其與第二個值(字串)相匹配。
因此,如果輸入是51,我希望能夠回傳3847489。 csv中沒有標題。
CSV到字串:
fetchData() {
fetch('./././assets/static/mapping.csv' )
.then(response => response.text()
.then(data => {
//對你的資料做一些處理。
console.log(data)。
this.mappingCSV = data;
});
}
輸出:
44, "3845657"
51,"3847489"。
1,"3888510"。
79,"3840471"。
57,"3864492"。
也歡迎其他將csv轉換為物件陣列的方法,不要和我的csv轉字串方法結婚。
uj5u.com熱心網友回復:
我在這個例子中使用了HTTPClient,它是Angular中可用的一個內置服務類。下面是如何使用Angular的HTTPClient,供你閱讀和了解它的好處。
在我的.ts檔案中,我首先對任何換行的文本轉換的csv進行分割。然后我添加了一個回圈,在這個回圈中我用逗號分割文本,并將必要的細節推送到新的csvArray中。
export class SampleComponent {
public csvArr: CsvArray[] = [] 。
constructor(private http: HttpClient){
this.http.get('assets/csv'/span>, {
responseType: 'text'。
}).subscribe(
(data) => {
const csvToRowArray = data.split('
')。)
console.log(csvToRowArray)。
for (let index = 0; index < csvToRowArray.length; index ) {
const row = csvToRowArray[index].split(',') 。
this.csvArr。 push(new CsvArray(parseInt(row[0] 。10), row[1] )。
}
console.log(this.csvArr)。
},
(error) => {
console.log(錯誤)。
}
);
}
}
export class CsvArray {
id: 數字。
text: string;
constructor(id: number, text: string) {
this.id = id;
this.text = text;
}
}
我創建了一個stackblitz,以便你可以檢查我的實作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/328054.html
標籤:
