所以我得到了一個csv檔案,從excel保存為CSV -UTF-8檔案 右邊是visual studio,左邊是excel.
。當我試圖用PapaParse/csv-parser進行決議時,我仍然看到輸出為<?>格式。 這意味著編碼。 PapaParse嘗試:
papa.parse(file, {
worker: true,
step: function (result) {
count 。
console.log(result.data[0] )
},
complete: function (results, file) {/.
console.log('parsing complete read', count, 'records. ' )。
}
});
csv-reader try:
const csv = require('csv-parser') 。
const results = [];
fs.createReadStream('Cities.csv')
.pipe(csv()
.on('data', function (datarow) {
results.push(datarow)。
})
.on('end', function () {
console.log(results.toString('utf-8")。
});
在這兩種情況下,輸出都是<?>無法讀取希伯來語字符
uj5u.com熱心網友回復:在我看來,你是在用管道將原始的塊狀緩沖區輸送到csv,而不是用UTF-8編碼將其轉換為字串的結果。你沒有告訴createReadStream為你處理任何編碼作業,所以它將讀取原始資料并將它們作為csv函式(因為你正在向它輸送管道)。
與其讀取原始資料并在之后進行轉換,不如告訴createReadStream你希望它通過options引數為你處理轉換:
const csv = require('csv-parser')。
const results = [];
fs.createReadStream('Cities.csv'/span>, 'utf-8'/span>)
//-----------------------------^^^^^^^^^。
.pipe(csv()
.on('data', function (datarow) {
results.push(datarow)。
})
.on('end', function () {
///在這里使用`results`(它是一個根據的物件的陣列)。
// csv-parser檔案;對其呼叫`toString`可能不是。
// what you want)。
});
uj5u.com熱心網友回復:
你可以嘗試添加這個:
format: "UTF-8"/p> papa.parse(file, {
worker: true,
step: function (result) {
count 。
console.log(result.data[0] )
},
format: "UTF-8"/span>
complete: function (results, file) {//.
console.log('parsing complete read', count, 'records. ' )。
}
});
uj5u.com熱心網友回復:
問題不是因為代碼,而是因為控制臺的屬性。我不得不改變字體,以便控制臺能夠正確顯示希伯來語字母。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/310248.html
標籤:
下一篇:使用pandas合并兩列
