MATLAB操作txt总结
matlab基本操作总结 -回复

matlab基本操作总结-回复使用Matlab进行基本操作是学习和使用Matlab的关键。
在这篇文章中,我将一步一步回答有关Matlab基本操作的问题,帮助您更好地了解和使用Matlab。
Matlab是一种高级编程语言和数值计算环境,广泛用于工程、科学和数学领域。
它提供了丰富的函数库和工具箱,使得使用它进行数据分析、可视化和模拟变得更加简单和高效。
无论您是初学者还是有经验的用户,掌握Matlab的基本操作是非常重要的。
一、Matlab的安装和启动首先,您需要从MathWorks官方网站下载并安装Matlab。
安装过程非常简单,只需按照向导的指示一步一步完成即可。
安装完成后,您可以通过启动菜单或桌面上的Matlab图标来启动Matlab。
启动Matlab后,您将看到一个交互式的命令窗口,可以在其中输入和执行Matlab命令。
二、Matlab的基本操作界面Matlab的基本操作界面由菜单栏、工具栏、编辑窗口、命令窗口和工作区组成。
- 菜单栏提供了各种功能选项,如文件操作、编辑、运行代码、绘图和工具等。
您可以通过单击菜单栏上的选项来执行相应的操作。
- 工具栏上有一些常用的功能按钮,如新建、打开、保存、运行和调试,方便您快速进行一些基本操作。
- 编辑窗口用于编写和编辑Matlab代码。
您可以在此窗口中输入和修改代码,并保存到文件中。
- 命令窗口是与Matlab交互的主要方式。
您可以在命令窗口中输入和执行命令,并查看计算结果。
- 工作区显示了当前Matlab环境中定义的变量和其值。
在通过命令或脚本创建变量后,这些变量将显示在工作区中。
三、Matlab的基本命令Matlab具有大量的内置函数和命令,可以执行各种数学和科学计算。
以下是一些常见的Matlab基本命令:- 计算命令:您可以使用基本算术运算符(+、-、*、/)进行数学计算。
例如,输入"3 + 4",Matlab将返回结果"7"。
MATLAB文件操作总结精讲

%------------------------------------------
filename2='shiyan4.txt';
fn=fopen(filename2,'w');
for i=1:mm
fprintf(fn,‘%8s' ,zb(i).dm); %dm是8位字符
fprintf(fn,‘.3f ',zb(i).x); .3f 表示15位整数,3位小数
my=findstr(line,',');% 从字符串中找出逗号位置,存放在my 中
例4-2 leica 全站仪数据读取的典型程序
filename1=‘leica.txt ' ; fp=fopen(filename1,'r'); i=0; while ~feof(fp)
i=i+1; for j=1:4
zb(i,j)=fscanf(fp,'%f',1); end end fclose(fp);
a4,4146999.55,435975.881,4.861
a5,4147007.645,436132.184,4.215
将shiyan1.txt读到结构数组zb,程序如下:
clc;clear all; fp=fopen('shiyan1.txt','r'); mm=0; % 点数
zb=[];
while (~feof(fp)) mm=mm+1; line=fgetl(fp); my=findstr(line,','); %---------------------------------zb(mm).dm=line(1:my(1)-1); zb(mm).x=str2num(line(my(1)+1:my(2)-1)); zb(mm).y=str2num(line(my(2)+1:my(3)-1)); zb(mm).z=str2num(line(my(3)+1:end));
Matlab 总结报告

绪论时间飞逝,转眼间学习Matlab实训课已经结束。
虽只有短短的几周教学的时间。
但是老师所教给我们的知识却有很多很多。
所以,首先要感谢老师的细心教导。
没有您的讲解我想现在我们对于Matlab这款软件还是充满了神秘感。
还清楚的记得就在几周前,我拿着Matlab书本去机房。
当时,由于线性代数没有开课。
所以,对老师所说的矩阵什么的真的是一点都不懂。
在没有办法的情况下只能硬着头皮去听了。
一节课下了感觉还好,没有我想象中的那么难,大部分按照老师的方式依葫芦画瓢还是可以运行处所要的结果的,但讲到其中的原理就不行了。
就这样我们迎来了第一次实验报告,那次报告在课下完成的还算顺利,但是由于条件的原因当时的几道题目都没有真正的在计算机上运行,没有调试。
但我相信那几题都是正确的,虽没有真正的结果。
就这样第一次的报告过去了。
在接下来的几周里也就是那样的听着、学着。
也没觉得自己有什么进步但是总觉得每一次的课都是听得迷迷糊糊,自己没有太用心在上面。
所以,之后的报告做的就不怎么样了,每次都有好几题不会。
但是,在所有的章节中我对“矩阵”这个章节最感兴趣,同时也是学的比较好的。
所以,接下来我就对我所学的矩阵有关方面的知识做一个小结:矩阵:我们都知道,作为一种科学计算软件。
Matlab专门也矩阵作为基本的运算单位,而从计算机编程语言的角度而言,为了能够和C语言等高级语言保持一定的相似性,Matlab的矩阵在M语言中使用的数组的形式来表示。
而且,matlab 还提供了关于数组和矩阵不同的运算方法。
所以使用Matlab也必须掌握基本的矩阵计算的方法。
那样才能称得上是“了解这款软件”!接下来,将介绍一些基本的知识。
一、矩阵的构造在MatLab中,构造矩阵的方法有两种。
一种是直接法,就是通过键盘输入的方式直接构造矩阵。
另一种是利用函数产生矩阵。
例1.利用magic函数来产生一个矩阵B=magic(3)B=8 1 63 5 74 9 2例2.使用冒号运算符来创建向量在Matlab的命令窗口中键入如下命令:A=1:5A=1 2 3 4 5B=1:2:5B=1 3 5有上面的两组数据我们可以看出:在Matlab创建矩阵时利用“冒号”有所差别。
matlab文件操作及读txt文件

matlab文件操作及读txt文件matlab文件操作文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。
MATLAB提供了一系列低层输入输出函数,专门用于文件操作。
1、文件的打开与关闭1)打开文件在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。
fopen函数的调用格式为:fid=fopen(文件名,‘打开方式’)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。
文件名用字符串形式,表示待打开的数据文件。
常见的打开方式如下:λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。
‘r+’:读写方式打开文件,打开后先读后写。
该文件必须已存在。
λλ‘w’:打开后写入数据。
该文件已存在则更新;不存在则创建。
‘w+’:读写方式打开文件。
先读后写。
该文件已存在则更新;不存在则创建。
λλ‘a’:在打开的文件末端添加数据。
文件不存在则创建。
λ‘a+’:打开文件后,先读入数据再添加数据。
文件不存在则创建。
另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
2)关闭文件文件在进行完读、写等操作后,应及时关闭,以免数据丢失。
关闭文件用fclose函数,调用格式为:sta=fclose(fid)说明:该函数关闭fid所表示的文件。
sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。
如果要关闭所有已打开的文件用fclose(‘all’)。
2、二进制文件的读写操作1)写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。
其调用格式为:COUNT=fwrite(fid,A,precision)说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。
Matlab中txt文件的读写操作命令及操作

Matlab中txt文件的读写操作命令整理将txt文件中的数据按行显示输出内容:从一个列向量文件中按要求读取指定部分数据后存储成另一个文件。
clear; clc; close all;%k=1:.1:50;%save org_di.txt k-ascii; %用save格式受限制fid=fopen('org_di.txt'); %原始数据是单列多行%temp=fread(fid); %用fread法读出的数据有问题,类似32,43等temp=fscanf(fid,'%f');%temp=load ('org_di.txt'); %n=length(temp);m=5;for k=1:2^m %指定保存前面部分内容¡temp1(k)=temp(k);end% save org_di2.txt -ascii temp1;fclose(fid);fid=fopen('org_di2.txt','w');fprintf(fid,'%f \r\n',temp1(1,:)); %若直接用temp1,则依然是多行单列,并没有在每行后面加回车换行,只是在最后加的回车换行。
可以直接用temp1fclose(fid);文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。
MATLAB提供了一系列低层输入输出函数,专门用于文件操作。
1、文件的打开与关闭1) 打开文件fopen在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。
fopen函数的调用格式为:fid=fopen(文件名,‘打开方式’)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。
文件名用字符串形式,表示待打开的数据文件。
常见的打开方式如下:'r' :只读方式打开文件(默认的方式),该文件必须已存在。
matlabload读取txt用法

matlabload读取txt用法在MATLAB中,可以使用load函数来读取TXT文件。
load函数有几种用法,可以根据数据的格式和要求进行选择。
一种常见的用法是将TXT文件中的数据加载到一个矩阵中。
假设有一个名为data.txt的TXT文件,它的内容如下:```12345678910```要将这个TXT文件中的数据加载到一个矩阵中,可以使用以下命令:```matlabdata = load('data.txt');```现在,变量data将包含从TXT文件中读取的数据,并以矩阵的形式存储。
在这个例子中,data将是一个2x5的矩阵,包含了文件中的数据。
有时,TXT文件中的数据可能以特定的分隔符分隔,如逗号(,)或制表符(\t)。
可以使用load命令的-ascii选项来指定要使用的分隔符。
假设有一个名为data.txt的文件,它的内容如下:```1,2,3,4,56,7,8,9,10```要将这个以逗号分隔的数据加载到一个矩阵中,可以使用以下命令:```matlabdata = load('data.txt', '-ascii', 'delimiter', ',');```现在,变量data将包含从TXT文件中读取的数据,并以矩阵的形式存储。
load函数也可以用来读取包含文本的TXT文件。
假设有一个包含文本的TXT文件,内容如下:```HelloWorld```要将这个TXT文件中的文本加载到一个字符串数组中,可以使用以下命令:```matlabtext = load('text.txt', '-ascii');```现在,变量text将包含从TXT文件中读取的文本,并以字符串数组的形式存储。
除了load函数,MATLAB还提供了其他函数来读取和处理TXT文件的数据,如fgetl、fscanf和textscan等。
matlab用法总结

matlab⽤法总结1. Matlab怎么判断空矩阵 a=[ ] if isempty(a)2.matlab寻找多个最⼤值位置a=[2,4,3,5,2,3,5;2,3,4,7,5,4,7];m=max(a(1,:));index=find(a(1,:)==m);max_array=a(1,index);3. [求助] Matlab怎么求⼀个⼆维矩阵中某⼀个⾏向量的位置⽐如有矩阵A=[ 1 1 1;2 2 2;3 3 3;4 4 4;]⾏向量B=[3 3 3]则: B在A的第 3 ⾏A=[ 1 1 1;2 2 23 3 34 4 4];B=[3 3 3];find(ismember(A,B,'rows'))或:[ind,loc] = ismember(A,B,'rows');a = {'A','B','A','C','D'};b = {'A'};[c1,c2] = ismember(b,a)追问:请问,假如a很长,⽽我不知道a⾥⾯有⼏个'A呢?'追答:a = {'A','B','A','C','D'};b = {'A'};n = 1:length(a);c = arrayfun(@(x) ismember(b,a(x)),n);c = n(c)c = 1 34.matlab如何绘制三维曲⾯图xa = -2:0.2:2;ya = xa;[x,y] = meshgrid(xa,ya);% calculate z dataz = x.*exp(-x.^2 - y.^2);mesh(x,y,z);figure;surf(X,Y,Z)5.reshapereshape函数重新调整的⾏数、列数、维数close all; clear; clc;A = [1 2 3; 4 5 6; 7 8 9; 10 11 12] % 4 by 3B = reshape(A, 2, 6) % 2 by 6% C = reshape(A, 2, 4) % error% D = reshape(A, 2, 10) % errorE = reshape(A, 2, 3, 2) % 2 by 3 by 2注意:reshape函数对原数组的抽取是按照列抽取的(对原数组按列抽取,抽取的元素填充为新数组的列)运⾏结果:A =1 2 34 5 67 8 910 11 12B =1 72 83 94 105 116 12E(:,:,1) =1 7 24 10 5E(:,:,2) =8 3 911 6 126.如何利⽤matlab在球⾯上随机⽣成点[x,y,z] = sphere(99);figuremesh(x,y,z)index1 = sort(floor((100*rand(1,10)+1)));index2 = sort(floor((100*rand(1,10)+1)));figurex = x(index1,index2);y = y(index1,index2);z = z(index1,index2);mesh(x,y,z)7.Converting from Cartesian to Spherical matlab?8.matlab 中如何将NxN维矩阵保存进txt ⽂件save A.txt A -ascii -double 只能是nxn 的,多维报错A=load('A.txt', 'ascii'),只能是数值型,字符型报错字符型可以⽤importdata存为cell,再⽤cell2mat转为char型数组fileDir=importdata('fileDir.txt');fileDir=cell2mat(fileDir); 9. MATLAB对于⽂本⽂件(txt)数据读取的技巧总结(经典中的经典)普通数值空格隔开的可以⽤A=load('A.txt', 'ascii')⽂本的可以⽤D = importdata('sample_file2.txt')10.Matlab批量读取⼀个⽂件夹⾥的txt⽂件⽐如说在E:\new下有⼀系列txt⽂件,⽂件名符合matlab变量名的命名规则,并且没有temp.txt⽂件,每个⽂件有两列,以空格分割,第⼀列是字符串,第⼆列是浮点数字,要读取第⼆列的浮点数字为数组并以⽂件名为变量名。
matlab text用法 -回复

matlab text用法-回复MATLAB(Matrix Laboratory)是一种高级的技术计算软件与编程语言。
它提供了一套强大的工具,用于科学计算、数据分析、图形绘制以及算法开发等不同领域的任务。
MATLAB的编程语言与其他编程语言相似,但它拥有自己的独特语法以及专门用于数值计算的函数库。
在MATLAB中,文本的处理可以使用text对象。
text对象是MATLAB 中用于创建和编辑文本的一种图形对象。
用户可以将文本绘制在图形窗口上的指定位置,并设置文本的字体、颜色、大小等属性。
在本文中,我们将深入探讨MATLAB中text对象的使用方法及其功能。
首先,我们需要先创建一幅图像,以便将文本绘制在其上。
可以使用`figure`函数创建一个新的图形窗口,例如:matlabfigure;接下来,我们可以使用`text`函数来创建一个新的文本对象。
我们可以指定文本的位置、内容以及其他属性。
例如,下面的代码创建了一个位于图形窗口中心的文本对象,并设置其内容为“Hello, World!”:matlabtext(0.5, 0.5, 'Hello, World!');在上述代码中,`text`函数的前两个参数指定了文本对象的位置,即x轴和y轴的坐标,这里的(0.5, 0.5)代表图形窗口中心点的位置。
第三个参数是文本对象的内容,这里为“Hello, World!”。
除了基本的位置和内容,我们还可以设置文本对象的其他属性,例如字体、颜色以及大小。
可以使用`set`函数对文本对象进行属性的修改。
例如,下面的代码将文本对象的字体设置为Helvetica,颜色设置为红色,字体大小设置为16:matlabset(text(0.5, 0.5, 'Hello, World!'), 'FontName', 'Helvetica', 'Color', 'r', 'FontSize', 16);在上述代码中,`set`函数的第一个参数为要修改属性的对象,第二个参数为属性名称,第三个参数为属性值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)使用文本文件(.txt)进行数据存取的技巧总结由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢!特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。
除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。
一. 基本知识:--------------------------------------------------这是转载内容----------------------------------------------------1. 二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。
这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。
如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。
譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。
例如,数5678的存储形式为:ASCII码:00110101 00110110 00110111 00111000↓↓↓↓十进制码: 5 6 7 8共占用4个字节。
ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS 命令TYPE可显示文件的内容。
由于是按字符显示,因此能读懂文件内容。
二进制文件是按二进制的编码方式来存放文件的。
例如,数5678的存储形式为:00010110 00101110 只占二个字节。
二进制文件虽然也可在屏幕上显示,但其内容无法读懂。
C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。
输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。
因此也把这种文件称作“流式文件”。
2. 文本模式(textmode)和二进制模式(binarymode)有什么区别?流可以分为两种类型:文本流和二进制流。
文本流是解释性的,最长可达255个字符,其中回车/换行将被转换为换行符“\n”,(如果以"文本"方式打开一个文件,那么在读字符的时候,系统会把所有的"\r\n"序列转成"\n",在写入时把"\n"转成"\r\n" )。
二进制流是非解释性的,一次处理一个字符,并且不转换字符。
注:\n一般会操作系统被翻译成"行的结束",即LF(Line-Feed)\r会被翻译成"回车",即CR(Cariage-Return)对于文本文件的新行,在UNIX上,一般用\n(LF)来表示,Mac上用\r(CR)来表示,Windows上是用\n\r(CR-LF)来表示。
通常,文本流用来读写标准的文本文件,或者将字符输出到屏幕或打印机,或者接受键盘的输入;而二进制流用来读写二进制文件(例如图形或字处理文档),或者读取鼠标输入,或者读写调制解调器。
如果用文本方式打开二进制文件,会把“0D0A”自动变换成“\n”来存在内存中。
写入的时候反向处理。
而二进制方式打开的话,就不会有这个过程。
但是,Unicode/UTF/UCS 格式的文件,必须用二进制方式打开和读写。
---------------------------------------------------------------------------------------------------------上述基础其实大可以略过,简言之,对用户来说:在 matlab 中存储成为二进制还是文本文件取决于fopen的方式,如果用wt,则存储为文本文件,这样用记事本打开就可以正常显示了;如果用w则存储为二进制文件,这样用记事本打开会出现小黑方块,要正常显示的话,可以用写字板或UltraEdit等工具打开。
二. Matlab的I/O文件操作使用技巧和总结:1. Matlab 支持的I/O文件(对应“取/存”操作)类型:(所有文件I/O程序不需要特殊的工具箱)/support/tech-notes/1100/1102.html(注:从上表可以看到,matlab不支持doc格式的文档存取(因为doc文档包含很多格式控制符),请改用txt或者dat格式)2. Matlab 的I/O文件指南:/support/tech-notes/1600/1602.html以下是部分对应的中文译文:--------------------------------------------------------------转----------------------------------------本技术支持指南主要处理:ASCII, binary, and MAT files.要得到MATLAB中可用来读写各种文件格式的完全函数列表,可以键入以下命令:help iofunMATLAB中有两种文件I/O程序:high level and low level.High level routines:包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。
Low level routines:可以更加灵活的完成相对特殊的任务,需要较多的额外编程。
High level routines 包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。
举个例子,如果你有一个包含数值和字母的文本文件(text file)想导入MATLAB,你可以调用一些low level routines自己写一个函数,或者是简单的用TEXTREAD函数。
使用high level routines的关键是:文件必须是相似的(homogeneous),换句话说,文件必须有一致的格式。
下面的段落描述一些high level file I/O routines并给出一些例子帮助理解概念。
LOAD/SAVE主要的high level file I/O routines 是LOAD和SAVE函数。
LOAD可以读MAT-file data或者用空格间隔的格式相似的ASCII data. SAVE可以将MATLAB变量写入MAT-file格式或者空格间隔的ASCII data。
大多数情况下,语法相当简单。
下面的例子用到数值由空格间隔的ASCII file sample_file.txt:1 5 4 16 85 43 26 890 7 8 7 65 9 81 2 3Example:用 LOAD and SAVE 读写数据CODE:% Load the file to the matrix, M :M = load('sample_file.txt')% Add 5 to M :M = M +5% Save M to a .mat file called 'sample_file_plus5.mat':save sample_file_plus5 M% Save M to an ASCII .txt file called 'sample_file_plus5.txt' :save sample_file_plus5.txt M -asciiUIGETFILE/UIPUTFILEUIGETFILE/UIPUTFILE是基于图形用户界面(GUI)的。
会弹出对话框,列出当前目录的文件和目录,提示你选择一个文件。
UIGETFILE让你选择一个文件来写(类似Windows ‘另存为’选项?)。
用UIGETFILE,可以选择已存在的文件改写,也可以输入新的文件名。
两个函数的返回值是所选文件名和路径。
用 UIGETFILE 从当前目录选择一个 M-fileCODE:% This command lists all the M-files in the current directory and% returns the name and path of the selected file[fname,pname] = uigetfile('*.m','Sample Dialog Box')注意: UIGETFILE 一次只能选择一个文件。
UIIMPORT/IMPORTDATAUIIMPORT是一个功能强大,易于使用的基于GUI的high level routine,用于读complex data files。
文件也必须是homogeneous。
IMPORTDATA形成UIIMPORT的功能,不打开GUI。
可以将IMPORTDATA用于函数或者脚本中,因为在函数或者脚本中基于GUI的文件导入机制并不理想。
下面的例子用到包含几行文件头和文本、数值数据的文件'sample_file2.txt':This is a file header.This is file is an example.col1 col2 col3 col4A 1 4 612.000B 1 4 613.000C 1 4 614.000D 1 4 615.000Example: Using IMPORTDATA to read in a file with headers, text, and numeric dataCODE:% This reads in the file 'sample_file2.txt' and creates a% structure D that contains both data and text data.% Note the IMPORTDATA command specifies a white space% as the delimiter of the file, but IMPORTDATA can usually% detect this on its ownD = importdata('sample_file2.txt','') % 原文有误?D = importdata('sample_file2.txt')可以通过访问结构D的数据和文本域,来看结构D中的真实值,例如输入:data = D.datatext = D.textdata可以用UIIMPORT读同一个文件并得到同样的结构.注意: 对于 ASCII data, 你必须检验导入向导正确的识别了列分隔符。