# csvread
读取逗号分隔值 (CSV) 文件。
函数库: TyBase
# 语法
M = csvread(filename)
M = csvread(filename,R1,C1)
M = csvread(filename,R1,C1,[R1 C1 R2 C2])
# 说明
M = csvread(filename) 将逗号分隔值 (CSV) 格式化文件读入数组 M 中。该文件只能包含数值。示例
M = csvread(filename, R1, C1) 从行偏移量 R1 和列偏移量 C1 开始读取文件中的数据。例如,偏移量 R1=0、C1=0 指定文件中的第一个值。示例
M = csvread(filename, R1, C1, [ R1 C1 R2 C2 ]) 仅读取行偏移量 R1 和 R2 及列偏移量 C1 和 C2 界定的范围。另一种定义范围的方法是使用电子表格表示法(例如 "A1..B7")而非 [0 0 6 1]。示例
# 示例
读取整个 CSV 文件
2 4 6 8
3 6 9 12
5 10 15 20
7 14 21 28
读取文件中的数值
using TyBase
file_path = pkgdir(TyBase) * "/examples/resources/csv_files/csvlist.dat"
M1 = csvread(file_path)
M1 =
4×4 Matrix{Int64}:
2 4 6 8
3 6 9 12
5 10 15 20
7 14 21 28
从特定行和列偏移量开始读取 CSV 文件
从上一个示例中描述的文件读取从第一行下方两行开始的矩阵。
using TyBase
file_path = pkgdir(TyBase) * "/examples/resources/csv_files/csvlist.dat"
M1 = csvread(file_path, 2, 0)
M1 =
2×4 Matrix{Int64}:
5 10 15 20
7 14 21 28
从 CSV 文件读取特定范围的数据
从第一个示例中描述的文件读取行偏移量 1 和 2 及列偏移量 0 和 2 界定的矩阵。
using TyBase
file_path = pkgdir(TyBase) * "/examples/resources/csv_files/csvlist.dat"
M1 = csvread(file_path, 1, 0, [1, 0, 2, 2])
M1 =
2×3 Matrix{Int64}:
3 6 9
5 10 15
# 输入参数
filename — 文件名字符串
示例: "myFile.dat"。
数据类型: String
R1 — 起始行偏移量0 (默认) | 非负整数
起始行偏移量,指定为非负整数。第一行的偏移量为 0。
数据类型: Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64
C1 — 起始列偏移量0 (默认) | 非负整数
起始列偏移量,指定为非负整数。第一列的偏移量为 0。
数据类型: Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64
R2 — 结束行偏移量非负整数
结束行偏移量,指定为非负整数。第一行的偏移量为 0。
数据类型: Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64
C2 — 结束列偏移量非负整数
结束列偏移量,指定为非负整数。第一列的偏移量为 0。
数据类型: Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64
提示
无序列表通过指定行和列偏移量跳过标题行或列。文件而非标题中的所有值必须是数值。
# 算法
csvread 用零填充空的分隔字段。当 csvread 函数读取其行以非空格分隔符(例如分号)结尾的数据文件时,它返回矩阵 M,该矩阵包含由零组成的额外最后一列。
csvread 将任何复数作为一个整体导入到复数字段中,将实部和虚部转换为指定的数字类型。表中显示了复数的有效形式。
| 形式 | 示例 |
|---|---|
| ±<real>±<imag>im | j | 5.7-3.1im |
| ±<imag>im | j | -7im |
复数中的嵌入空白无效,将视为字段分隔符。