数据
用于结构化数据交换与存储、科学数组、机器学习、基因组分析、点云和定位的格式。
关于此分类
Apache Arrow IPCApache Arrow 提供列式数据格式及相关库;Arrow IPC 将这些数据序列化,以便进程和应用程序之间交换。文件版通常使用 .arrow 扩展名,并可借助页脚随机访问记录批次。流版通常使用 .arrows,按顺序传递消息。Feather V2 是基于 Arrow IPC 文件格式的一种称呼。AvroApache Avro 按模式序列化记录,模式可以用 JSON 表示。它支持记录、数组、映射和联合类型;读写双方需要兼容模式。BAMBAM(Binary Alignment/Map)是SAMv1规范定义的SAM比对数据的二进制表示。BAM通常使用BGZF块压缩,支持通过索引访问特定区域。它可保存参考头部、读段名称、FLAG、CIGAR、位置、序列质量和标签,也能包含未比对读段。坐标排序的BAM可配合BAI或CSI等索引使用。BAM适合机器处理而非直接阅读,参考序列身份和索引一致性都很重要。BEDBED用文本记录染色体名、起点和终点。起点从0计数,终点不包含在区间内。它不保存序列本身或逐碱基质量值。bedGraphbedGraph以文本记录染色体、起点、终点和数值四列。坐标从0计数且不含终点。区间可赋予正负整数或实数。bigBedbigBed是从BED类型数据生成的索引式二进制格式。兼容浏览器可读取所需区间。它不是简单用gzip压缩的BED文件。bigWigbigWig是保存基因组数值的索引式二进制格式,可从WIG或bedGraph生成,兼容工具可按区间访问。它与bigBed的数据用途不同。BSONBSON(Binary JSON)是一种以二进制形式序列化类 JSON 文档的格式。除了字符串和数值等内容,它还支持标准 JSON 没有的日期、二进制数据和 ObjectId 等类型。MongoDB 广泛使用 BSON,但它不是普通的 JSON 文本,需要使用支持 BSON 的驱动程序或工具。BUFRBUFR(Binary Universal Form for the Representation of meteorological data;WMO FM 94)是基于表格描述符编码和交换气象观测的二进制格式。描述符序列决定数值的表示与解释,应检查版本及主表或本地表。CBORCBOR(Concise Binary Object Representation)是 IETF 制定的二进制数据项编码标准,可表示数字、字符串、数组和映射等结构。它兼顾紧凑的实现与消息大小,同时支持扩展,也能表示类似 JSON 的数据。CBOR不是文本格式,读写时需要使用支持它的工具或程序库。CRAMCRAM通过可利用参考序列差异的编码存储测序读段和比对信息,通常可实现高于BAM的压缩率。规范同时支持无损和有损保留策略,并未统一规定必须保留哪些数据。因此,仅凭.cram扩展名无法判断碱基质量或标签是否完整保留;应检查创建工具和设置。有些文件或工作流需要精确的外部参考序列,也有配置可以将参考嵌入文件。CRAI索引可用于区域访问。DICOMDICOM 是用于保存和交换医学影像及相关信息的标准。Part 10 文件通常使用 .dcm 扩展名,文件元信息之后是表示一个 SOP Instance 的数据集,其中可能包含图像像素以及检查、设备或患者属性。像素的编码和压缩取决于 Transfer Syntax,因此 DICOM 不只是普通图像文件。E57E57 用于交换三维成像系统生成的点数据。ASTM 公开摘要说明,它可存储三维点、颜色或强度等属性以及系统拍摄的数字照片;文件结合二进制数据和 XML。与 LAS/LAZ 不同,E57 也可包含扫描相关图像。.env.env 是一种约定俗成的文本文件,用于记录环境变量名称和值,供兼容的应用或开发工具读取。它没有统一的通用规范:引号、注释、变量展开以及与已有环境变量的优先级都取决于读取工具。FASTAFASTA 是以 > 开头的定义行后跟序列的文本格式。本文讨论核苷酸和参考序列用途。单独的 FASTA 不包含逐碱基质量值。FASTQFASTQ是一种广泛使用的文本格式,将测序读段序列与逐碱基质量分数组合保存。常见记录包含以`@`开头的标识符、序列、`+`分隔行和质量字符串,质量字符串长度应与序列相同。FASTQ没有统一的正式规范,存在互不兼容的质量编码,包括Sanger Phred+33和历史Solexa/Illumina变体。常用扩展名为`.fastq`或`.fq`,也可用gzip等外部压缩。FASTQ通常保存比对前的读段,作用不同于带参考位置的SAM/BAM比对记录。FITFIT(.fit)是一种二进制格式,用于保存和共享运动、健身及健康设备产生的数据。它可以用消息存放活动、传感器测量、事件、训练计划和路线等内容。应用能读取哪些字段取决于 FIT 配置文件和接收软件;解码时可能需要 FIT SDK。FITSFITS(Flexible Image Transport System)是主要用于天文学的科学数据存储与交换标准。文件由多个 Header/Data Unit(HDU,头部/数据单元)串接而成,每个单元包含头部和数据,因此同一文件可保存图像数组、光谱以及 ASCII 或二进制表格。头部由 80 字符卡片组成,HDU 边界填充到 2880 字节块。FlatGeobufFlatGeobuf 是基于 FlatBuffers 的二进制地理地物格式,包含头部、可选空间索引和地物数据。一个 .fgb 文件保存单个图层。GeoJSONGeoJSON 用 JSON 表示地理要素和几何图形。标准坐标系中的经度位于纬度之前。GeoPackageGeoPackage(.gpkg)是遵循 OGC GeoPackage 标准、用于存储地理空间数据的 SQLite 数据库文件。它可在一个文件中保存矢量要素、多级缩放的栅格地图瓦片和非空间属性,适合移动或离线使用。SQLite 文件并不自动等于 GeoPackage;它还必须符合该标准规定的架构和要求。GeoParquetGeoParquet 为 Parquet 增加几何列和地理元数据约定。本文依据规范 1.1.0,仅凭 .parquet 扩展名不能判断是否符合规范。GeoTIFFGeoTIFF规范定义如何在TIFF图像中保存地理参考信息。专用标签描述像素与地理或投影坐标的对应关系,也可标识坐标参考系。压缩方式各异;仅凭扩展名不能确认是否存在地理参考。GFF3GFF3以制表符分隔的9列记录基因组注释。起点和终点从1计数且包含两端,通过ID、Parent等属性表达关系。GGUFGGUF 是为 GGML 及兼容推理运行时设计的二进制容器。其头部包含格式版本、张量描述以及键值形式的元数据,后续区域存放张量数据。它常用于 llama.cpp 系列工具的本地推理,但该格式本身并不保证所有运行时或架构都支持。扩展名也不能说明模型是否经过量化。.gitignore.gitignore 是包含匹配规则的文本文件,用来告诉 Git 忽略尚未跟踪的路径。Git 会根据优先级应用各级 .gitignore 文件和其他排除来源中的规则。添加规则不会让 Git 停止跟踪已经纳入索引的文件。GMLGML是用XML表达地理几何和属性的OGC标准。应用模式用于定义特定领域的要素。GPXGPX(.gpx)是一种 XML 格式,用于在应用和 Web 服务之间交换 GPS 数据。它分别表示航点(地点)、路线(计划的路径)和轨迹(实际记录的路径)。GPX 1.1 的坐标采用 WGS 84。地图样式和应用专有信息不一定能原样转移,因此应根据用途检查导入结果。GRIBGRIB(General Regularly-distributed Information in Binary form)是用于交换网格气象和地球物理数据的二进制格式。消息包含标识、网格、产品、数据表示和值等分段。GRIB1与GRIB2的规范和代码表不同,也可能使用本地定义,因此应确认版本和提供方约定。GTFGTF以制表符分隔的9列记录基因注释。坐标从1计数且包含两端,属性含gene_id和transcript_id。所需行与属性因提供方和读取工具而异。HDF5HDF5(Hierarchical Data Format version 5)是一种用于存储大型、多样数据的层级数据模型和文件格式。组构成层级结构,数据集保存具有类型和维度的数组;组和数据集都可以具有属性。HDF5本身不会统一规定特定领域的坐标、单位或语义约定。iCalendariCalendar 用于交换日程、待办事项和空闲时间。导入后应检查日期、时区和重复规则。INI 配置文件INI 是一种常见称呼,指按分区和键值对组织的文本配置文件。它没有唯一通用规范,因此注释、分隔符、键名大小写和多行值的处理方式可能因应用或解析器而异。Jupyter NotebookJupyter Notebook(.ipynb)是一种笔记本文档格式,使用 JSON 结构保存代码单元、Markdown 单元、元数据和输出。文件可能包含可执行代码,而不只是显示结果,因此查看和运行是两种不同操作。JSONJSON是一种使用键和值表示结构化数据的文本格式,广泛用于Web API和配置文件。JSON5JSON5 在 JSON 基础上增加注释、末尾逗号、部分不加引号的键名和单引号字符串,目的是方便人工编写;它不是 JSON 的另一种叫法。请确认接收工具支持解析 JSON5。JSON LinesJSON Lines(.jsonl)是一种文本格式,每行放置一个有效的 JSON 值。它适合日志和增量处理,因为程序可以逐条读取记录。application/jsonl 是被提议的媒体类型,但尚未标准化。JWKJWK 是表示加密密钥的 JSON 对象,可包含密钥类型 kty、密钥 ID kid 等元数据。JWKS 在 keys 数组中组合多个 JWK。它常用于发布公钥;含私钥材料的 JWK 属于敏感信息。Keras`.keras` 是 Keras 3 的原生完整模型保存格式。通常它是 ZIP 归档,包含模型配置、权重、编译信息以及存在时的优化器状态。Keras 官方资料说明归档中包含配置、元数据和权重数据。文件不一定包含自定义层或自定义对象的实现代码;加载环境可能需要这些类及其依赖。Keras 提供加载安全选项,但这不代表未知模型或自定义代码值得信任。KMLKML(.kml)是一种 XML 格式,用于描述地理信息在地图或地球浏览器中的显示方式。它可以表示地标、线、区域、说明、样式和图像叠加层。GPX 侧重交换 GPS 航点、路线和记录轨迹;KML 则更侧重地理数据的显示、注释和可视化。LASLAS是由ASPRS维护的开放点云交换格式。它按点记录格式保存X/Y/Z坐标以及强度、回波编号、分类、GPS时间、RGB、扫描仪信息和扩展属性等字段,并通过头部和可变长度记录保存元数据。LAS 1.5与早期版本支持的点记录和坐标参考要求有所不同,应检查旧软件兼容性。LAS通常未压缩;无损压缩的LAZ在文件大小与软件兼容性之间有不同取舍。LAZLAZ按块压缩LAS点记录。LAZ 1.4基于LAS 1.4,对点数据进行无损压缩。兼容实现可独立解压各块,因此某些点云处理和随机访问无需展开整个文件。压缩不会改变LAS坐标、分类等字段的含义,但读取器版本、扩展记录和伴随波形数据仍会影响互操作性。LAZ 1.4没有定义LAS 1.5的全部功能,因此不能仅凭扩展名判断是否兼容LAS 1.5数据。MAT-fileMAT-file(.mat)是 MATLAB 保存工作区变量的二进制格式。Version 4、6、7、7.3 在支持的数组和数据类型、压缩、大小限制及部分访问方面有所不同。普通 MATLAB `save` 默认使用 Version 7;Version 7.3 基于 HDF5,可支持大型变量和部分访问。由于 v7.3 与早期版本的内部结构不同,应确认文件版本和所需功能,而不要只凭扩展名判断兼容性。MBTilesMBTiles 把地图瓦片和元数据存入 SQLite 数据库。本文依据规范 1.3,区分图像瓦片和内含 gzip 压缩 MVT 的 pbf 瓦片。MetaImageMetaImage 是一种医学与科学图像格式,由 ITK 的 MetaIO 处理,包含带标签的文本头文件和像素数据。.mha 将头信息与像素合并;.mhd 将头信息分离,通常引用 .raw 等数据文件。头文件可记录维度数、各轴大小、元素类型、字节序和间距。MRCMRC(MRC/CCP4 map and image format)是一种二进制格式,主要用于冷冻电子显微镜图像和三维密度图。MRC2014 的 1024 字节主头文件记录数组尺寸、MODE(数值类型)、轴映射、网格间距和扩展头长度,后接数据数组。它与晶体学 CCP4 map 密切相关,但不应假定二者用途和约定完全相同;请检查头文件及软件的解释方式。MessagePackMessagePack 是一种用于序列化类似 JSON 值的二进制格式,可表示整数、字符串、二进制数据、数组和映射,也定义了扩展值与时间戳。它不是文本格式,读写需要兼容的程序库。数据的实际含义和类型映射也可能取决于应用程序约定。MVTMVT用Protocol Buffers编码地理矢量瓦片。瓦片包含具名图层、要素及属性。netCDFnetCDF(Network Common Data Form)是一组用于以自描述、可移植方式存储和交换科学数据的格式与软件。数据集围绕维度、变量和属性组织。Classic 数据模型与 netCDF-4 提供的扩展模型不同;netCDF-4/HDF5 文件可以使用组等层级功能。扩展名本身不能判断文件变体。NIfTINIfTI(通常指 NIfTI-1 或 NIfTI-2)是一种供不同分析软件处理 MRI、fMRI 等神经影像数据的文件格式。其头信息描述体素数组、维度、数据类型、缩放,以及从体素坐标到解剖空间或标准空间的映射。NIfTI-1 可将头信息和图像数据合并为 .nii,也可拆分为 .hdr/.img 一对文件;.nii.gz 则是经 gzip 压缩的单个文件。NPYNPY(.npy)是 NumPy 用于保存单个数组的二进制格式。头部记录格式版本、dtype、shape 和内存顺序,后面是数组数据。与文本表格不同,它可以保留数值类型和多维形状。NPY 本身不是压缩归档,通常每个文件保存一个数组。object dtype 数组可能涉及 pickle;读取不可信输入时应检查 object 数组和 `allow_pickle` 的处理。NPZNPZ(.npz)是 NumPy 用于一起保存多个数组的 ZIP 归档。归档中每个数组对应一个`.npy`文件,NumPy `load`会返回可按名称访问数组的`NpzFile`。`savez`创建未压缩归档,`savez_compressed`使用DEFLATE,因此仅凭扩展名无法判断成员是否压缩。每个数组通过NPY保留dtype和shape。object dtype数组可能涉及pickle;读取不可信输入时应谨慎处理allow_pickle。NRRDNRRD(Nearly Raw Raster Data)是一种用于科学可视化和图像处理的 N 维栅格数据格式。文本头文件描述维度、类型、轴大小和数据编码,也可包含轴标签、单位、方向和空间原点。头信息与数据可以合并在一个 .nrrd 文件中,也可以拆分为 .nhdr 头文件和外部数据文件。ONNXONNX(Open Neural Network Exchange)是一种开放模型表示,用于在机器学习框架和推理运行时之间交换模型。常见的`.onnx`文件保存 Protocol Buffers 格式的 ModelProto,其中描述计算图、输入输出、类型和形状、opset 导入以及初始张量。Safetensors 主要保存权重张量,而 ONNX 还表示模型计算图。转换后并不意味着所有运行时都支持全部算子或模型特有功能;需检查 IR/opset 版本和实现支持。ORCORC 是用于分析系统的带类型列式文件格式。选择列和使用文件索引可减少不必要的数据读取。ParquetApache Parquet 按列保存表格数据,组织为行组和列块。分析工具可读取所需列,无须扫描所有字段。PCAPPCAP(.pcap)是广泛支持的网络数据包二进制捕获格式。它记录数据包内容、链路层类型和时间戳。结构较简单,兼容许多较旧的分析工具;但在表示多个接口或注释等信息方面不如 PCAPNG 灵活。PCAPNGPCAPNG 用于保存网络抓取的数据包。与传统 pcap 相比,它更易扩展,可记录多个网络接口和注释等信息。抓包内容可能包含凭据或个人信息,分享前应先检查。PCDPCD用于保存PCL处理的点云。PCD 0.7的ASCII头部声明点字段及类型、WIDTH和HEIGHT、VIEWPOINT以及数据存储方式。Java PropertiesJava Properties 是一种按行组织键值对的文本格式,主要配合 Java 的 Properties API 和 ResourceBundle 使用。.properties 是常见扩展名,但字符编码取决于读取方法和 Java 版本,不能只凭扩展名判断。Protocol Buffers 模式文件.proto 是一种模式文件,用于描述 Protocol Buffers 的消息、字段和类型。protoc 等编译器会读取它,并生成指定编程语言的代码。.proto 文件本身不是序列化后的消息,通常以文本形式编辑。RINEXRINEX(Receiver Independent Exchange Format)是一种文本格式,用于以与接收机品牌无关的方式交换 GNSS 接收机观测值和导航电文。2025 年 9 月发布的 RINEX 4.02 定义了多种卫星导航系统与信号的观测、导航和气象文件。长文件名通常使用 .rnx,压缩时可能再加 .gz。RINEX 保存供后续处理的测量记录,并非已经生成的地图轨迹。SafetensorsSafetensors 是用于保存和分发机器学习张量值的二进制格式。文件开头是 8 字节小端序头部长度,后接描述张量名称、数据类型、形状和数据偏移量的 UTF-8 JSON 头部,最后是张量数据字节缓冲区。它本身不是模型架构或可执行程序。与基于 pickle 的序列化不同,它并非用于通过执行嵌入的重建代码来恢复任意对象。但这并不能证明文件来源可信、所有读取器都没有缺陷,或模型本身安全。SAMSAM(Sequence Alignment/Map)是一种以制表符分隔的文本格式,用于表示测序读段及其相对参考序列的比对。可选头部描述参考序列和软件;每条记录包含读段名称、FLAG、参考名与位置、MAPQ、CIGAR、序列、质量和可选标签。规范也允许记录未比对读段,因此并非每条记录都必然已比对。SAM便于检查但文件可能较大;BAM是其二进制表示,CRAM则加入参考序列相关压缩。Shell ScriptShell 脚本是包含命令的文本文件,由 sh 或 Bash 等 Shell 解释执行。.sh 是常见扩展名,但不能据此判断脚本使用哪种 Shell 语法。应结合 shebang、启动方式、权限和换行符等信息确认目标环境。ShapefileShapefile 用多个文件保存几何和属性。同名 .shp(几何)、.shx(索引)和 .dbf(属性)构成基础文件集,仅交付 .shp 不足。SP3SP3(Standard Product 3)是一种文本格式,用于按历元交换GNSS分析中的卫星精密轨道和钟差。头部标识版本、时间系统和卫星等信息,历元记录包含卫星位置与钟差信息。SP3-d最多支持999颗卫星。SP3产品不同于RINEX接收机观测数据,常用于分析中心发布的精密轨道产品。SQLSQL 文件包含数据库命令。不同数据库产品的语法和功能不同。SQLite 数据库SQLite 是嵌入式关系数据库,通常将表和索引保存在一个主文件中。常见扩展名有 .sqlite、.sqlite3 和 .db,但文件名本身不能证明格式。TOMLTOML 是带键值对、表、数组和类型值的文本配置格式。不同应用的规则可能不同。BitTorrent 元信息文件.torrent 是 BitTorrent 使用的元信息文件。它采用 bencode 编码的字典结构,描述内容名称、分片信息和 tracker 地址等,通常不包含所分发的文件本身。BitTorrent 客户端读取这些信息来查找节点并校验下载数据。TSVTSV 用制表符分隔列,通常用换行分隔记录。字段内部的制表符、换行及引号如何处理取决于工具。UBXUBX是u-blox接收机与主机之间的二进制通信协议。.ubx日志包含实际记录的消息。本文以ZED-F9P HPG 1.32、协议27.31的官方说明为基准。vCardVCF 文件包含 vCard 联系人记录。不同应用对版本、字符编码、重复字段和照片的处理可能不同。WARCWARC(Web ARChive file format)用于将从Web采集的多个数字资源及相关信息汇集为归档文件,并已标准化为ISO 28500。文件由多个记录串接而成,每条记录包含说明日期、记录类型、内容长度等字段的头部和内容块。response、request、resource、metadata、revisit等记录类型可保存资源与采集上下文,内容也能包含HTML以外的图片等格式。文件有时采用`.warc.gz`进行外部压缩。WARC本身不是能保证完整回放网站的独立网页格式。WSDLWSDL(Web Services Description Language)是一种 XML 格式,用于描述 Web 服务接口及其访问方式。它将抽象操作和消息与协议、消息格式的绑定、端点及服务信息关联起来。WSDL 文件既不是服务实现,也不是实际交换的数据。XMLXML是一种使用标签表示结构化数据的标记语言,适用于需要层级结构和模式验证的场景。XMPXMP定义元数据模型、表示方式和核心属性。它采用XML/RDF,可嵌入支持的文件或保存为.xmp等附属文件,不能替代图像本身。XML SchemaXSD(XML Schema Definition)是一种基于 XML 的模式语言,用于定义 XML 文档中的元素、属性、数据类型和约束。XSD 不是包含实际数据的 XML 实例文档,而是供 XML Schema 验证器检查实例文档的规则。使用前应确认模式版本、命名空间和验证器支持情况。YAMLYAML是一种以易读方式编写映射、序列和标量值的记法。它与JSON的用途有重叠,但并不是JSON的超集。ZarrZarr 规范以分块方式存储多维数组及元数据。数据集不一定是单个文件,也可能是目录或对象存储中的多个键。Zarr v2与v3存在差异,读写两端都应检查版本和codec支持。
对比
- Arrow IPC 与 CSV
- Arrow 与 netCDF 的区别
- Arrow 与 ORC
- Arrow IPC 与 Parquet
- Arrow 与 Zarr 的区别
- Avro 与 CBOR
- Avro 与 JSON
- Avro 与 ORC 对比
- Avro 与 Parquet 对比
- Avro 与 Protocol Buffers
- BAM vs CRAM
- BED与bigBed:文本编辑和索引式分发
- BED与GFF3:区间提取和注释结构
- bedGraph与bigWig:数值文本和索引分发
- BSON 与 JSON
- BSON 与 MessagePack
- BUFR 与 GRIB
- CBOR 与 JSON
- CBOR 与 MessagePack
- CSV vs JSON
- CSV vs Parquet
- DICOM 与 JPEG
- DICOM 与 TIFF
- E57 vs LAS
- FASTA 与 FASTQ:序列和质量值的保留
- FIT 与 GPX
- FITS 与 HDF5
- FITS 与 netCDF
- FITS 与 Zarr 的区别
- FlatGeobuf 与 GeoPackage:分发和 SQL 管理
- GeoJSON 与 JSON
- GeoPackage 与 GeoJSON
- GeoPackage 与 KML
- GeoParquet 与 GeoPackage:列式分析和 GIS 管理
- GeoTIFF 与 netCDF 的区别
- GeoTIFF 与 TIFF
- GeoTIFF 与 Zarr 的区别
- GGUF与Safetensors:推理分发与权重管理
- GML与GeoJSON:模式和坐标系
- GPX 与 KML
- GRIB 与 netCDF
- GRIB 与 Zarr 的区别
- GTF与GFF3:属性语法和转录本映射
- HDF5 与 netCDF
- HDF5 与 Zarr
- ICS 与 CSV
- JSON vs TOML
- JSON vs YAML
- JSON5 与 JSON
- JSON Lines 与 Avro:逐行记录还是模式
- JSON Lines 与 CSV
- JSON Lines 与 JSON
- JSON Lines 与 Parquet 的区别
- Keras与ONNX:训练状态保存与推理导出
- LAS vs LAZ
- MBTiles 与 MVT:瓦片集与瓦片编码
- MVT与GeoJSON:瓦片分发和数据交换
- netCDF 与 Parquet 的区别
- netCDF 与 Zarr
- NIfTI 与 DICOM
- NPY vs NPZ
- NPZ 与 HDF5:数组打包与局部读取
- ORC vs CSV
- Parquet vs JSON
- Parquet 与 ORC
- Parquet 与 Zarr 的区别
- PCAP 与 PCAPNG
- PLY与PCD的区别
- Protocol Buffers 与 JSON
- RINEX与SP3:观测记录和轨道产品
- Safetensors 与 ONNX:权重保存与模型图
- SAM vs BAM
- Shapefile 与 GeoPackage:文件集和属性保留
- SQLite 与 CSV
- TSV 与 CSV
- UBX与RINEX:接收机日志和观测交换
- VCF 与 CSV
- Web App Manifest 与 JSON
- XML 与 CSV
- XML vs JSON
- YAML vs TOML
- YAML 与 XML