如何在matlab中将.txt文件转换为.csv文件?

如何在matlab中将.txt文件转换为.csv文件?,matlab,csv,Matlab,Csv,如何将txt文件转换为MATLAB的csv文件?下面是我编写的代码和一些想法。这应该不是很长的代码 % All data was approved for publication by the USGS. %SampleData % Day of Year Date Number Discharge, cfs 1 37987 4175.512953 2 37988 2065.641026 3 37989 1030.974359 4 37990 674.

如何将txt文件转换为MATLAB的csv文件?下面是我编写的代码和一些想法。这应该不是很长的代码

    % All data was approved for publication by the USGS.
%SampleData
% Day of Year   Date Number Discharge, cfs
1   37987   4175.512953
2   37988   2065.641026
3   37989   1030.974359
4   37990   674.7589744
5   37991   519.4717949
6   37992   426.5333333
7   37993   389.4974359
8   37994   355.5692308
9   37995   359.5025641
10  37996   558.4461538

function [ ] = convertTexttoCSV(fileNameTxt, fileNameCSV)
data = load('fileNameTxt.txt');%only loads numerical values
 end
加载txt文件后,我是否仍需要打开并读取它。文本文件中有一些不必要的字符串数据,这就是我使用load的原因。下面是我计划使用的东西,但是现在我认为它对这个问题来说太重要了

fid1 = fopen('fileNameTxt.txt','r');%read
fid2 = fopen('fileNameCSV', 'w');%write
%while ~feof(fid1)%go to the end of the line
    % textline = fgetl(fid1);%reads line of text
    %convert to CSV
    % M = [M;str2num(txtline)];%store line of text in an array
    %used for space delimited files
    %  M = dlmread('fileNametxt','delimiter',%[rS cS rE cE])
这正是你想要的<代码>功能方式:

function [] = txt2csv(txtfile,csvfile)
    data = importdata(txtfile);
    csvwrite(csvfile,data.data);
end

我使用
数据。数据
因为
导入数据
使用它来将数值数据与文本数据分开,文本数据存储在
数据中。文本数据

不知道您的问题是什么,请使用演示数据和所需输出重新表述和解释
导入数据(.txt)
->
csvwrite(.csv)
为什么不在bash或cmd中使用它?为什么不使用
sed
将空格替换为逗号?。。。如果您想使用命令行终端,@m.s.我添加了一些示例数据并重新表述了问题。函数应该接受一个输入“fileNameText”,其中包含字符串文件名“fileNameCSV”,这是要创建的CSV文件的名称。为什么不起作用?我们看不懂你的心思,那不是我们的工作。
function [] = txt2csv(txtfile,csvfile)
    data = importdata(txtfile);
    csvwrite(csvfile,data.data);
end