CSV文件格式小结
概述
CSV文件是一种常用的数据交换格式,其首行为字段标题,之后为数据行,不同的列之间使用英文逗号“,”进行分割,CSV 其实就是 Comma-Separated Values 的缩写。CSV 基于纯文本格式进行编辑和保存,所以可以使用任何文本编辑器进行编辑,CSV 也是一种开放文件格式,大多数的电子表格程序都能打开和导出CSV文件,比如微软的Excel和金山的WPS 等。遗憾的一点是,CSV 文件格式不是标准化的,并且存在一些变体,因为在许多国家,逗号被用作数字的小数符号,所以分号“;”被用作分隔符而不是逗号“,”。这可能会造成一些混淆,因为这些文件中的大多数仍然带有扩展名 .csv 。除了分号“;”之外,制表符及空格也会被用作分隔符。
CSV 文件原始形式:
对应的表格形式:
CSV文件的优点
可读性强:CSV文件格式简洁明了,易于阅读和编辑,适合手动编辑和校对;
兼容性强:几乎所有的应用程序都能处理CSV格式,无需特定的软件或工具;
实现简单:CSV格式易于实现和解析,很多语言本身就内置了 CSV 文件的处理库;
紧凑性:CSV文件大小相对较小,尤其是易于压缩,减少了存储和传输成本。
CSV文件的缺点
数据结构限制:CSV只支持平面数据,无法表示复杂的数据结构,需要额外处理;
列类型缺失:CSV没有内置的列类型支持,文本和数字列没有区别;
二进制数据表示不标准:CSV无法直接表示二进制数据,需要采用特定方法进行处理;
导入问题:CSV在导入时可能存在一些问题,如NULL值和引号之间的混淆;
特殊字符支持差异:不同系统或软件对特殊字符的支持可能存在差异;
通用标准未建立:尽管CSV被广泛使用,但尚未建立统一的规范或标准。
使用 python 处理 CSV 文件
csv 文件 groups_2023.csv:
Rank,Clustername ,Economy,PCTapplications
1 ,TokyoYokohama ,JP ,"127,418"
2 ,ShenzhenHongKong,CN/HK ,"113,482"
3 ,Seoul ,KR ,"63,447"
4 ,Beijing ,CN ,"38,067"
5 ,ShanghaiSuzhou ,CN ,"32,924"
该文件与 python 程序位于同一目录中:
读取 CSV 文件
import csv
with open("groups_2023.csv") as f:
reader = csv.reader(f)
rows = [row for row in reader]
print(*rows, sep="\n")
向 CSV 文件末尾追加记录
import csv
with open("groups_2023.csv", 'a') as f:
row = ['6', 'Nanjing', 'CN', '28,876']
write = csv.writer(f)
write.writerow(row)
print("写入完毕!")