北太天元如何导入导出文件数据

标签: 数据分析 函数

Forever 2022-12-13 14:47:40

在使用北太天元编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件,北太天元主要支持以下格式数据文件的导入导出:.mat、.txt、.csv、.xls、.xlsx。具体介绍及用法如下。

一、MAT文件的导入导出

1. MAT文件的导出

1.1 使用save函数

>> help save

  save 将工作区变量保存到文件中。
    
  save(filename),将当前工作区中的所有变量存储在名为 filename 的二进制文件 MAT 文件中。
  filename 为字符向量或字符串标量。例如,将文件名指定为 "myFile" 或 "myFile.mat"。
  如果未指定文件名,则将数据保存到名为 baltamatica.mat 的文件中。
  如果 filename 不包含扩展名,则会默认补充 '.mat' 扩展名。如果文件名不包含完整路径,则保存在当前文件夹中。
  保存路径必须具有写入文件的权限。  
  当第一个参数为 '-struct' 时,会将 '-struct' 后的第二个参数 (非以 '-' 开头的参数) 当做 filename,
  如 save('-struct',structname,filename,fieldnames)。
  
  save(filename,variables),仅存储指定的变量。filename 和 variables 为字符向量或字符串标量。
  variables 可使用 '*' 通配符匹配模式。例如,save('data.mat','A*') 保存以 A 开头的所有变量。
  
  save(filename,'-struct',structname,fieldnames),将标量结构体的字段存储为单个变量。
  如果使用了 fieldnames 参数,则 save 函数仅存储结构体中的 fieldnames 字段。
  fieldnames 与 variables 具有相同的形式。不能在同一调用中指定 variables 和 '-struct' 来保存数据。

示例:保存structure数组实例。

例如有如下的structure数组s1:

s1.a = 22.33; s1.b =”Steve”; s1.c = ' World!';

使用 save 命令,可将整个structure数组保存为struct_data.mat。

>> save('struct_data.mat', 's1');

1.2 使用界面操作

在工作区中使用鼠标左键选中要保存的数据,点击鼠标右键,会弹出操作框,点击保存即可,在工作区空白处点击鼠标右键,可保存工作区的所有变量。

2.MAT文件的导入

2.1使用load函数

>> help load
    load 将文件变量加载到工作区中。
    load(filename),将 MAT 文件中的变量加载到工作区。
    filename 为字符向量或字符串标量。例如,将文件名指定为 "myFile" 或 "myFile.mat"。
    
    如果未指定文件名,默认读取当前路径下的 baltamatica.mat。
    load(filename,variables),读取指定的变量。filename 和 variables 为字符向量或字符串标量。
    variables 可使用 '*' 通配符匹配模式。例如,load('data.mat','A*') 加载以 A 开头的所有变量。
    
    load(filename,'-mat') 将 filename 视为 mat 文件,而不管文件扩展名如何。
    
    load(filename,'-mat',variables) 加载 filename 文件中的指定变量。

示例:

将A.mat文件中的变量导入到structure数组s中。

>> s=load("A.mat")
s =
 1x1 struct
 结构体:
   A1: [3x3 double]
   A2: "string"
   A3: [1x3 double]
   A4: [1x2 cell array]

2.2 使用界面操作

点击菜单栏的“导入“->”导入数据”

弹出导入文件操作界面

二、TXT、CSV及Excel文件的导入导出

1. TXT、CSV及Excel文件的导入

1.1 使用readmatrix函数

(1)导入文本文件

文本文件的数据格式在行和列上必须采取一致的模式,并使用分隔符来分隔各个数据项。分隔符可以是空格、逗号、分号或其他字符,单个的数据可以是字母、数值字符或它们的混合形式。

示例:文件data.txt包含了两行数据,各数据之间由空格分隔。

1 2 3

4 5 6

>> m=readmatrix("data.txt") %使用readmatrix导入数据
m =
 2x3 double
  1   2   3
  4   5   6

(2)导入csv数据

csv文件是逗号分隔的纯文件文件。除了可以使用readmatrix函数读取之外,同时也可以使用csvread函数,推荐使用readmatrix函数。

示例:文件data.csv中的数据如下:

1.2,2.5,3.2,4.6

5.4,6.2,7.1,8.2

>> m=readmatrix("data.csv") %使用readmatrix导入数据
m =
 2x4 double
   1.2000    2.5000    3.2000    4.6000
   5.4000    6.2000    7.1000    8.2000

(3)导入Excel数据

Excel文件包含.xls及.xlsx两类文件。

示例:文件data.xlsx中的数据如下:

>> m=readmatrix("data.xlsx") %使用readmatrix导入数据
m =
 5x2 double
   1.0000    2.0000
   3.0000    4.0000
   5.0000    6.0000
     NaN      NaN
   7.0000    8.0000

1.2 使用界面操作

点击菜单栏的“导入“->”导入数据”,弹出导入文件操作界面,选择文件导入即可。

2. TXT、CSV及Excel文件的导出

2.1使用writematrix函数

(1)保存txt文本文件

示例:将a=[1,2,3;4,5,6;7,8,9]'所表示的矩阵数据存储到“w_data.txt”的文件当中,以制表符分隔。

>> a =
 3x3 double
  1   4   7
  2   5   8
  3   6   9
>> writematrix(a,"w_data.txt","Delimiter","-")

使用文本查看器查看w_data.txt:

(2)保存csv文本文件

示例:将a=[1,2,3;4,5,6;7,8,9]'所表示的矩阵数据存储到“w_data.csv”的文件当中。

>> writematrix(a,"w_data.csv")

使用wps查看器查看w_data.csv:

(3)保存xlsx文本文件

>> writematrix(a,"w_data.xlsx")

使用wps查看器查看w_data.xlsx:


注:暂不支持.xls文件格式的导出操作,excel推荐使用.xlsx的导出文件格式。

2.2 使用界面操作

在工作区中使用鼠标左键选中要保存的数据,点击鼠标右键,会弹出操作框,点击“导出变量”即可。该方式仅支持”.xlsx”格式文件的导出。

2041 1 4 收藏 回复

回复

z 2022-12-20 #1

赞👍


回复

重置 提交