gpt4 book ai didi

javascript - 将 JSON 中的特殊字符转换为 CSV 时的字符编码(excel)

转载 作者:行者123 更新时间:2023-12-01 00:33:46 25 4
gpt4 key购买 nike

我目前正在尝试使用

从 json 填充 .csv 文件
const createCsvWriter = require('csv-writer').createObjectCsvWriter;

我已经读过他们使用的默认编码是 utf-8,我的一些 JSON 中有特殊字符、表情符号或中文字母......这是一个示例

[ { username: 'jung.y00n',
name: '정 윤',
bio:
'ғʀᴇᴇʟᴀɴᴄᴇʀᴍᴏᴅᴇʟ\nᴄᴏɴᴛᴀᴄᴛ 📩 ᴅᴍ 사적/공구 연락 확인 못해요\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n🔜바이오리 슬림/브이 스틱 (10/14-16)',
pic_url: 'C:/Users/Administrator/Downloadsjung.y00n.jpg' } ]

[ { username: 'yujing.lai',
name: '勇闖美利堅的美少女 * Miss.Amber',
bio:
'📍San Francisco,California USA\n🎓Academy of Art University🇺🇸Master of Fine Arts\n🎓National Taiwan University of Art🇹🇼BFA\n✈️🇹🇼🇮🇹🇪🇺🇺🇸🇳🇴🇦🇹🇭🇷🇸🇮🇻🇦🇻🇳🇰🇷🇭🇰🇯🇵🇨🇳🇲🇴',
pic_url: 'C:/Users/Administrator/Downloadsyujing.lai.jpg' } ]

[ { username: 'rky_thitiworada',
name: 'ฐิติวรดา จังจริง',
bio:
'Thitiworada Janjring\n🎧DJ.Rky🎧\nI\'m interested in music,mixing,EDM,DJ \n ติดต่องาน ☎️ 097-0922200 \nติดต่องาน ID line➡️ djrky \n🖤#msrk 💞👫 @mashiimx',
pic_url: 'C:/Users/Administrator/Downloadsrky_thitiworada.jpg' } ]

[ { username: 'mimisayhihi',
name: '米恩綺Mimi',
bio:
'📍Taipei \n📩工作聯繫窗口\nKaren :karen@cclfilm.com \n方慈/judy@ cclfilm.com \n活動邀約/hihifish1128@gmail.com',
pic_url: 'C:/Users/Administrator/Downloadsmimisayhihi.jpg' } ]

但是将 JSON 导出为 csv 并在 Windows 中的 ms excel 中打开它后,它看起来像这样

enter image description here

知道我需要做什么才能正确编码和显示吗?

最佳答案

您可以在前面加上 Byte order mark到文件告诉 Excel 正确解码字符,这应该可以解决问题:

const users = [ { username: 'jung.y00n',
name: '정 윤',
bio:
'ғʀᴇᴇʟᴀɴᴄᴇʀᴍᴏᴅᴇʟ\nᴄᴏɴᴛᴀᴄᴛ 📩 ᴅᴍ 사적/공구 연락 확인 못해요\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n🔜바이오리 슬림/브이 스틱 (10/14-16)',
pic_url: 'C:/Users/Administrator/Downloadsjung.y00n.jpg' }
,
{ username: 'yujing.lai',
name: '勇闖美利堅的美少女 * Miss.Amber',
bio:
'📍San Francisco,California USA\n🎓Academy of Art University🇺🇸Master of Fine Arts\n🎓National Taiwan University of Art🇹🇼BFA\n✈️🇹🇼🇮🇹🇪🇺🇺🇸🇳🇴🇦🇹🇭🇷🇸🇮🇻🇦🇻🇳🇰🇷🇭🇰🇯🇵🇨🇳🇲🇴',
pic_url: 'C:/Users/Administrator/Downloadsyujing.lai.jpg' }
,
{ username: 'rky_thitiworada',
name: 'ฐิติวรดา จังจริง',
bio: 'Thitiworada Janjring\n🎧DJ.Rky🎧\nI\'m interested in music,mixing,EDM,DJ \n ติดต่องาน ☎️ 097-0922200 \nติดต่องาน ID line➡️ djrky \n🖤#msrk 💞👫 @mashiimx',
pic_url: 'C:/Users/Administrator/Downloadsrky_thitiworada.jpg' }
,
{ username: 'mimisayhihi',
name: '米恩綺Mimi',
bio:
'📍Taipei \n📩工作聯繫窗口\nKaren :karen@cclfilm.com \n方慈/judy@ cclfilm.com \n活動邀約/hihifish1128@gmail.com',
pic_url: 'C:/Users/Administrator/Downloadsmimisayhihi.jpg' }
];

const fs = require("fs");
const createCsvWriter = require('csv-writer').createObjectCsvWriter;

const outputFile = "users.csv";
const csvWriter = createCsvWriter({
path: outputFile,
header: Object.keys(users[0]).map(key => { return {id: key, title: key} })
});

function prependBOM(file) {
let fileContents = fs.readFileSync(file);
fs.writeFileSync(file, "\ufeff" + fileContents);
}

async function writeCSV() {
await csvWriter.writeRecords(users);
// Prepend BOM to file so Excel will display characters correctly.
prependBOM(outputFile);
}

writeCSV();

如果您不想执行此操作,可以将 UTF-8 数据手动导入 Excel:

  • 启动 Excel。
  • 使用“数据”->“导入外部数据”->“导入数据”导入 csv 数据
  • 选择文件类型“csv”,浏览到您的文件并选择它。
  • 在导入向导中将 File_Origin 更改为“65001 (UTF-8)”。
  • 然后您可以点击“转换数据”来查看您的数据。
  • 您可以选择关闭并加载,以使用导入的数据创建新工作表。

关于javascript - 将 JSON 中的特殊字符转换为 CSV 时的字符编码(excel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58300212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com