将元数据添加到 CSV 文件中以指示 Excel 应如何打开
Posted
技术标签:
【中文标题】将元数据添加到 CSV 文件中以指示 Excel 应如何打开【英文标题】:Add meta data into CSV file to instruct Excel how it should open 【发布时间】:2020-05-23 16:20:16 【问题描述】:我正在导出 CSV 文件,其中列标题文本在 Angular 应用程序中从英语更改为法语。英文文本显示正常,但法语版本显示不正确,使用 Excel 打开时,带重音的字符无法正确显示。当使用 Notepad 或 Notepad++ 等文本编辑器打开时,它可以正常工作。
是否可以告诉 Excel 或任何支持 CSV 的编辑器(如 Libre Office)如何读取文件?就像在导出下载之前将一些嵌入的元数据添加到这个 CSV 文件中一样。我检查了 W3C 中的文档,仅找到有关嵌入式元数据的资源,但在类似语言、哪个字符作为分隔符......等之后没有太多信息。
来自W3C的示例
EXAMPLE 7: Tab-separated file containing embedded metadata
# publisher City of Palo Alto
# updated 12/31/2010
#name GID on_street species trim_cycle inventory_date
#datatype string string string string date:M/D/YYYY
GID On Street Species Trim Cycle Inventory Date
1 ADDISON AV Celtis australis Large Tree Routine Prune 10/18/2010
2 EMERSON ST Liquidambar styraciflua Large Tree Routine Prune 6/2/2010
【问题讨论】:
您是否尝试在 csv 的开头添加 BOM? 【参考方案1】:尝试在 csv 的开头添加 BOM(字节顺序标记),以便 Excel 正确识别字符编码:
let bom = "\uFEFF";
let csv = "a;b;c;?";
let blob = new Blob([`$bom$csv`], type: 'text/csv;charset=utf-8;' );
// proceed with saving the blob ...
我创建了一个小 jsfiddle:https://jsfiddle.net/h6n1cpqf/
【讨论】:
我应该将它添加到 csv 的第一行,或者只是将它连接到 csv 中,excel 应该可以正常读取它? 将其附加到 csv 有效负载前面,如上所示。 (不在它自己的路线上)以上是关于将元数据添加到 CSV 文件中以指示 Excel 应如何打开的主要内容,如果未能解决你的问题,请参考以下文章
在 pyspark 中以 csv 格式读取 excel 文件