将 CSV 转换为 UTF-8
Convert CSV to UTF-8
如何将 CSV 转换为 UTF-8?
我有一个接受文件的代码,然后它将转换为 JSON。
问题是,我需要先手动将 CSV 文件转换为 UTF-8,以便将其转换为 JSON。
我正在为正则表达式使用日语字符。
const Upload = () => {
var fileUpload = document.getElementById('fileUpload')
var summary = document.getElementById('summary')
var json = document.getElementById('json')
if (typeof FileReader !== 'undefined') {
var reader = new FileReader()
summary.innerHTML = ''
json.innerHTML = ''
reader.onload = function (e) {
generateData(e.target.result)
}
reader.readAsText(fileUpload.files[0])
}
}
const generateData = (res) => {
var addressList = []
var regex = //
var results = res.split('\n')
for (var i = 0; i < results.length; i++) {
var address = results[i].replace(/"/g, '').split(',')
if (address.length >= 8) {
addressList.push(address[6] + address[7] + address[8])
}
}
const result = addressList.reduce((accumulatedData, data) => {
const isValid = regex.test(data)
accumulatedData[data] = isValid
return accumulatedData
}, {})
var summary = document.getElementById('summary')
summary.innerHTML = `<label><b>Summary (valid):</b></label> ${
Object.values(result).filter((d) => d).length
} / ${Object.keys(result).length}`
setAddressTestCase(JSON.stringify(result, null, 4))
}
CSV 是一种数据格式,UTF-8 是一种字符编码。
因此,您只需要以正确的方式读取文件即可。
我在 Mozilla 中找到了这个:
https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsText
您可以设置编码如下:
reader.readAsText(fileUpload.files[0], 'UTF-8')
如何将 CSV 转换为 UTF-8?
我有一个接受文件的代码,然后它将转换为 JSON。 问题是,我需要先手动将 CSV 文件转换为 UTF-8,以便将其转换为 JSON。 我正在为正则表达式使用日语字符。
const Upload = () => {
var fileUpload = document.getElementById('fileUpload')
var summary = document.getElementById('summary')
var json = document.getElementById('json')
if (typeof FileReader !== 'undefined') {
var reader = new FileReader()
summary.innerHTML = ''
json.innerHTML = ''
reader.onload = function (e) {
generateData(e.target.result)
}
reader.readAsText(fileUpload.files[0])
}
}
const generateData = (res) => {
var addressList = []
var regex = //
var results = res.split('\n')
for (var i = 0; i < results.length; i++) {
var address = results[i].replace(/"/g, '').split(',')
if (address.length >= 8) {
addressList.push(address[6] + address[7] + address[8])
}
}
const result = addressList.reduce((accumulatedData, data) => {
const isValid = regex.test(data)
accumulatedData[data] = isValid
return accumulatedData
}, {})
var summary = document.getElementById('summary')
summary.innerHTML = `<label><b>Summary (valid):</b></label> ${
Object.values(result).filter((d) => d).length
} / ${Object.keys(result).length}`
setAddressTestCase(JSON.stringify(result, null, 4))
}
CSV 是一种数据格式,UTF-8 是一种字符编码。
因此,您只需要以正确的方式读取文件即可。
我在 Mozilla 中找到了这个: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsText
您可以设置编码如下:
reader.readAsText(fileUpload.files[0], 'UTF-8')