csv文件单元格格式,csv格式是什么意思

本文分享自华为云社区《CSV—简单格式下隐藏的那些坑-云社区-华为云》,作者:aKi。前言CSV(Comma-Separated Values),是一种通用的、

本文由华为云社区分享《CSV—简单格式下隐藏的那些坑-云社区-华为云》,作者:aKi。

前言

CSV(逗号分隔值)是一种通用且相对简单的文件格式。文件可以包含任意数量的表格数据记录。每条记录用作字段之间的分隔符。是一个分隔符。

示例:下面是一个包含3 行内容的CSV 文件。

f24c8d079d8a46739e12b73530a5c92e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=fbCkjqP2uPrQi2kZn%2FtP8mJ%2FoaE%3D

CSV 格式广泛用于在程序之间传输表数据。由于这些程序的格式不兼容,因此CSV 是最好的中间格式之一,并且大多数程序也支持CSV 导入和导出。数据。例如,从程序A 导出CSV 文件并将该文件导入程序B。这个过程虽然看似简单,但也隐藏着很多陷阱。让我们看一下三个常见的陷阱。

坑一:换行和逗号

我们前面提到,CSV 文件中的每条记录都用换行符分隔,并且通常使用逗号作为分隔符。然而,当您实际处理数据时,字段中会出现换行符和逗号。如果程序A没有正确处理相应的数据,则在导入程序B时会生成错误的数据或记录。

示例:在下面的CSV 文件的第二行记录中,第四个字段包含一个逗号和一个换行符。

d73cc0518a6f4db383f10e10e0e00abe~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=J5gii3Zbmsc0pAUVT9yTIOnfSjo%3D

您可以使用Excel 工具查看解析后文件的外观。

f10c6ec4a8fe489f9fad0f59355422df~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=vo%2BZY8FC5gn9vtStSLZljVDd78U%3D

处理数据的正确方法是将包含逗号和换行符的字段括在双引号中。

6f0453a49eb84c6baa71ffd1c3257eda~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=L6IZKItknPji8WRI1Le%2Bo%2B9QYJc%3D

解析出对应的文件后:

aff2bbc5437e4953a4f18b5095ac7e60~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=LOyk4wfozCIcrJE1SJwUcl90Jn0%3D

为了扩展,如果字段本身有双引号,则必须在字段本身的双引号前添加双引号。

例如,在Airplane 之前添加双引号来表示字段本身的数据。

3c5c9605cda8460c8c06455bd4dcd525~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=EQkRuv8ecB%2B0Zyeu8kiQUCwC8ds%3D

当您使用本文中的工具打开该文件时,它看起来像这样:

f4eb5e2bd8c04e95be0cc3e7f90902c6~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=vSZecXX9sRL7uM3RCE2Kf50PnlY%3D

坑二:BOM头

CSV 文件通常以更常见的UTF-8 格式进行编码。此问题很可能是由自动添加BOM 标头引起的。在Windows 上编辑CSV 文件。如果程序B没有正确处理BOM头,就会认为BOM头是字段的一部分,而直接观察CSV文件是不会发现这个错误的。

例如,这里有两个内容完全相同的文件。

8265b99aef0c48e8b55b3192fe1f8ef1~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=vjkRJgv3bkzY9nroJYjLEuRHvYw%3D

如果一个包含BOM 标头而另一个不包含,则二进制表示形式会有所不同。

d68d399f742e4049a3dd1121fbe5af99~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=RalSV%2BQJPTrkwf9bSvul6u5BL1A%3D

包含BOM 标头的文件在文件开头有额外的3 个字节的数据。处理方法也很简单,只需将文件保存为无BOM格式即可。

坑三:CSV注入

CSV注入实际上是一个安全漏洞。当在Excel工具中打开CSV文件时,其字段数据由Excel解析,因此它支持Excel提供的所有动态功能。

让我们看一下下面的例子。

681962289a0541fab48b0b379320f51a~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=ka%2FlRHh3Dj%2F%2BpfKiIY5XLCoQXKY%3D

我将其中一个字段写为=1+1 并在Excel 工具中打开该文件。

953b0f1f32d84d62a09d422d645ff144~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=cfZJoo%2FZYNiq4cwFrGnJpXB7ilk%3D

=1+1解析为2

同样,该漏洞可用于执行任意程序。

caf254e146b64107963155ec5f49dc56~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=v5XVyNs%2BdiYznOYnowAkCQUvICk%3D

在Excel中打开时,出现以下提示:

3b47a088b52e4658a46e833dda21554c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=bcVllGO30PhhxSNwmys8amfthkE%3D

单击“是”运行计算程序。

059bf34b32344d34bc468a8590873599~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=wcKpdUo7GC%2BC0b8NTFde5WyRAiw%3D

当然,较新版本的Excel 默认情况下禁用了此漏洞。默认情况下,在“文件”-“选项”-“信任中心”的外部内容设置中,未选中“启用动态数据交换服务器启动”。

364e623ea0cd438b9661409395083f4d~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717737806&x-signature=XxZljBUtUHCxyoWuvQjYNDEP%2FAA%3D

以上是我在处理CSV数据时遇到的陷阱。希望读者遇到类似问题时,能够快速拿出原因和解决方案,不要在坑里停留太久。

点击下方抢先了解华为云新技术~

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/81764.html

(0)
小条's avatar小条
上一篇 2024年5月31日 下午1:23
下一篇 2024年5月31日 下午1:28

相关推荐

  • 服务器托管的优势有哪些?(详解)

    随着互联网的发展,服务器托管已经成为了网络安全加速行业中不可或缺的一部分。但是,你是否真正了解服务器托管的优势?它究竟是如何工作的?又该如何选择合适的服务商?下面让我们一起来探讨一…

    行业资讯 2024年4月13日
    0
  • 云服务器便宜

    云服务器,听起来就像是一种高端的科技产品,但你知道吗?它其实是现在越来越多人选择的服务器类型。云服务器便宜,这句话可能会让你感到意外。那么什么是云服务器?它有哪些优势与特点?为什么…

    行业资讯 2024年4月14日
    0
  • 如何解决免费国内空间不足的问题?

    免费国内空间,是很多人选择建立个人网站或者博客的首选。但是随着网络行业的发展,越来越多的用户发现免费国内空间不足的问题。那么究竟什么是免费国内空间?为什么会出现空间不足的问题?它又…

    行业资讯 2024年4月15日
    0
  • 如何制作公司主页?

    如何制作公司主页?这是每个企业都需要面对的问题。随着信息时代的发展,公司主页已经成为企业最重要的展示窗口。它不仅可以帮助企业吸引潜在客户,还能提升企业形象和知名度。但是,如何制作一…

    行业资讯 2024年4月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注