首页 > 其他分享 >关于csv表格(.csv文件)

关于csv表格(.csv文件)

时间:2024-06-14 20:01:27浏览次数:10  
标签:文件 CSV 表格 保存 格式 csv

前言

项目中要把接收的数据保存成csv,虽然不知道是怎么保存的,这里还是做一下记录,了解一下什么是csv文件。

基本定义

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;
每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。


“CSV”并不是一种单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“CSV”泛指具有以下特征的任何文件:
1.纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;
2.由记录组成(典型的是每行一条记录);
3.每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);
4.每条记录都有同样的字段序列

CSV 格式/规则:
1. 开头是不留空,以行为单位。
2. 可含或不含列名,含列名则居文件第一行。
3. 一行数据不跨行,无空行。
4. 以半角逗号(即,)作分隔符,列为空也要表达其存在。
5.列内容如存在半角引号(即"),替换成半角双引号("")转义,即用半角引号(即"")将该字段值包含起来。
6.文件读写时引号,逗号操作规则互逆。
7.内码格式不限,可为 ASCII、Unicode 或者其他。
8.不支持数字
9.不支持特殊字符

CSV 文件(表格)格式举例说明

(图片截取自百度百科)

CSV表格的查看和保存:

如果你的电脑上安装了 Microsoft Excel的话,双击打开.csv 文件默认是被Excel打开的。然后如果表格有修改,在你保存的时候,excel会询问你是否要继续沿用当前的格式保存为csv文件:


这个时候如果选择“是”,因为 Excel 认为.CSV 文件中的数字是要用科学记数法来表示的,Excel 会把 CSV 文件中所有的数字用科学计数来表示(2.54932E+5 这种形式),这样操作之后,只是在 Excel 中显示的时候会不正常,而 csv 文件由于是纯文本文件,在使用上没有影响;如果选择了“否”,那么会excel提示你以xlsx 格式另存为 Excel 的一个副本。

改变表格中科学计数法显示格式

对于数字以科学计数法的形式显示出来的问题,我们也可以直接通过修改一整列的表格的显示格式的方法 来让数字以正常的形式显示出来:

如果你在修改后是直接退出的,那也可以选择不保存的方式直接退出,或者如果选择保存的话,就跳会转到保存界面,可以选择保存的格式: 保存为xlsx表格后,数字也是可以正常显示的了。


由纯文本变为csv表格

csv 文件由于是纯文本文件,可以由文本直接改后缀格式变为csv表格:

这个是我直接在txt文本中按照csv的格式写的表格:

然后直接改格式,把.txt改成.csv:

结果打开后出现了中文乱码:


然后我发现,选择ANSI编码格式(默认是UTF-8编码格式)来保存文件就不会有中文乱码了:

改格式为.csv:

再打开的话,就没有看到乱码的中文了:

也就是:txt保存时的编码格式要从UTF-8改为ANSI编码格式。(ANSI是默认的编码方式,对英文文件是ASCLL编码,对于简体中文文件是GB2312编码(只针对windows简体中文版,如果时繁体中文版会采用Big5码) )

注意:csv表格中数据与数据之间不能包含空行,就是要一行接着一行,不能留空行。当你需要手动编辑表格中的内容的时候,如增加或删除数据之后,如果出现了空行,要记得删除掉。不然后面如果程序用到了表格,可能会导致程序无法正确的读取表格。因为它们不能正确的处理空行。我就遇到过因空行而出现程序报错问题。

标签:文件,CSV,表格,保存,格式,csv
From: https://blog.csdn.net/visiv/article/details/139658784

相关文章

  • 编写一个.sh的脚本,然后通过 shell 脚本执行 Makefile 文件并把生成的可执行文件下载到
    要编写一个shell脚本来执行Makefile并下载生成的可执行文件到开发板,你需要确保开发板可以通过某种方式(如SSH、FTP、SCP等)访问。以下是一个简单的shell脚本示例,它使用scp命令将可执行文件从本地机器复制到开发板。假设你的开发板可以通过SSH访问,并且你已经配置了SSH密钥认证,这样你......
  • 编写一个 Makefile 文件,对阶段项目一的代码进行自动化编译
    为了编写一个Makefile文件来自动化编译一个项目,我们需要知道项目中包含哪些源文件以及它们是如何组织的。假设我们有一个简单的项目,它包含两个C源文件`main.c`和`helper.c`,以及一个头文件`helper.h`。我们希望编译这些文件生成一个名为`project`的可执行文件。以下是一个简单的M......
  • python watchdog检测到文件产生,动态创建进程,不指定进程数去处理,处理过程中需要写文件,
    如果希望在检测到文件时动态创建进程而不预先指定进程数,并确保写文件时不发生冲突,可以使用队列和锁的机制。以下是一个改进的方案:pythonfrommultiprocessingimportProcess,Queue,Lockfromwatchdog.observersimportObserverfromwatchdog.eventsimportFileSystemE......
  • 如何将文件从 PC 传输到 iPhone [完整指南]
    iPhone设备以其出色的功能和便携性受到用户青睐。为了确保数据安全或方便查看,将文件从PC备份到iPhone是一个明智的选择。以下是五种将文件从PC传输到iPhone的方法。 方法1-使用CoolmusteriOSAssistant传输文件CoolmusteriOSAssistant是一款强大的手机......
  • Go黑帽子|文件搜索和数据库矿工
    文件搜索filepath.Walk遍历目录,regexp.MustCompile来匹配关键字packagemainimport( "fmt" "log" "os" "path/filepath" "regexp")varregexexs=[]*regexp.Regexp{ regexp.MustCompile(`(?i)user`), regexp.MustCompil......
  • Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包
    Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包一、Gerber文件层叠与参数设置二、装配图文件设置导出三、光绘参数设置四、Gerber孔符图、钻孔表及钻孔文件输出五、输出Gerber文件六、输出IPC网表七、导出坐标文件八、文件打包一、Gerber文件层叠与......
  • Angular 集成 StreamSaver 大文件下载
    应用场景:实现目标:在网页端实现大文件(文件大小>=2G)断点续传实际方案:发送多次请求,每次请求一部分文件数据,然后通过续写将文件数据全部写入.难点:无法实现文件续写,最后采用 StreamSaver来解决这个问题. 1.首先从github将 StreamSaver拉取下来.Strea......
  • 【vue】表单行表格
    FormTable.vue<template><tableclass="form-tabletd-centerreadOnly":class="{'is-striped':isStriped}"><colgroup><colv-for="(it,i)incols":key="......
  • 在Linux中,如何搜索文件?
    在Linux中,搜索文件是一项常见的任务,有多种工具可以用来搜索系统中的文件。以下是一些常用的命令和方法:1.find命令find是最强大的文件搜索命令之一。它可以在指定目录及其子目录下搜索符合条件的文件。基本用法:find[搜索路径][搜索条件]-exec命令\;示例:搜索/......
  • 批量解压tar文件并删除压缩包
    有些时候,我们需要解压多个压缩包,而使用压缩工具,只能一个一个的操作,十分浪费时间,这篇博客中,我使用了python书写了一个代码,能够对一个文件夹下的多个tar格式的压缩包进行解压,同时以压缩包的名字保存压缩内容,并删除压缩包以节约空间。importosimporttarfiledefextract_to_n......