小木虫 | 小木虫论坛 | 木虫之家 | 论文范文 | 期刊查询 | 影响因子 | 新闻导读 | IP地址查询 | 学术网址之家
公务员 休闲娱乐 生活健康 我的故事 虫友聚会 科研经验 论文投稿 基金申请 教师之家 木虫出品 硕博家园 考研
考博 找工作 留学出国 外语 翻译求助 计算模拟 电化 晶体 环境 催化 分析 有机合成
化工技术 精细化工 化学工具 化学综合 高分子 材料综合 纳米 物理 药学综合 新药研发 医学综合 生物科学
地学 食品 理工 信息科学 理财 经济 管理 有奖问答 木虫知道 文献检索 检索知识 专利
标准 学术资料 学术工具 资源精粹 资源杂烩              
当前位置:小木虫 >> 学术工具 >> 〖介绍〗[转贴]mathswork一个把cell数组(有中文)写入文本的程序

网络资源推荐

〖介绍〗[转贴]mathswork一个把cell数组(有中文)写入文本的程序


作者: winds001    发布日期: 2008-03-15

前两天写了一个有限元的程序,有关数据的保存有点困惑,就是数据写入文本文件的时候只能是数据而不能连带文本(尤其是中文)一起写进去,这样程序的运行结果可读性就降低了,偶尔发现了这个程序,可以把cell数组完整写入txt里,中文也一样可以.然后我稍微修改了一下,使得数据与文本之间的对应保持上下一致.
分享一下,感觉里面有些语句也是值得借鉴的.hoho:

CODE
function cell2csv(datName,cellArray,trennZeichen)
% Writes cell array content into a *.csv file.
%
% CELL2CSV(datName,cellArray,trennZeichen)
%
% datName      = Name of the file to save. [ i.e. 'text.csv' ]
% cellarray    = Name of the Cell Array where the data is in
% trennZeichen = the number of blankspaces,and it has to be either
% great than zero or a positive interger.
% by Sylvain Fiedler, KA, 2004
% modified by bainhome,XJ,2006
if trennZeichen<=0|round(trennZeichen)~=trennZeichen
    errordlg('trennZeichen has to be either great than zero or a positive interger.',...
        '输入错误对话框')
    return
else
    str=' ';
    for i=1:trennZeichen-1
        str=[str,' '];
    end
    datei = fopen(datName,'w');
    for z=1:size(cellArray,1)
        for s=1:size(cellArray,2)
            var = eval(['cellArray{z,s}']);
            if size(var,1) == 0
                var = '';
            end
            if isnumeric(var) == 1
                var = num2str(var);
            end
            fprintf(datei,var);
            if s ~= size(cellArray,2)
                fprintf(datei,str);
            end
        end
        fprintf(datei,'\n');
    end
    fclose(datei);
end

[转贴]:mathswork一个把cell数组(有中文)写入文本的程序

前两天写了一个有限元的程序,有关数据的保存有点困惑,就是数据写入文本文件的时候只能是数据而不能连带文本(尤其是中文)一起写进去,这样程序的运行结果可读性就降低了,偶尔发现了这个程序,可以把cell数组完整写入txt里,中文也一样可以.然后我稍微修改了一下,使得数据与文本之间的对应保持上下一致.
分享一下,感觉里面有些语句也是值得借鉴的.hoho:


CODE:[Copy to clipboard]function cell2csv(datName,cellArray,trennZeichen)
% Writes cell array content into a *.csv file.
%
% CELL2CSV(datName,cellArray,trennZeichen)
%
% datName      = Name of the file to save. [ i.e. 'text.csv' ]
% cellarray    = Name of the Cell Array where the data is in
% trennZeichen = the number of blankspaces,and it has to be either
% great than zero or a positive interger.
% by Sylvain Fiedler, KA, 2004
% modified by bainhome,XJ,2006
if trennZeichen<=0|round(trennZeichen)~=trennZeichen
    errordlg('trennZeichen has to be either great than zero or a positive interger.',...
        '输入错误对话框')
    return
else
    str=' ';
    for i=1:trennZeichen-1
        str=[str,' '];
    end
    datei = fopen(datName,'w');
    for z=1:size(cellArray,1)
        for s=1:size(cellArray,2)
            var = eval(['cellArray{z,s}']);
            if size(var,1) == 0
                var = '';
            end
            if isnumeric(var) == 1
                var = num2str(var);
            end
            fprintf(datei,var);
            if s ~= size(cellArray,2)
                fprintf(datei,str);
            end
        end
        fprintf(datei,'\n');
    end
    fclose(datei);
end



==========================================================================
以下是我随手写的一个写入txt文本的程序.

CODE:
function read_csv_plus_text(t)
% 使用cell2csv读取文件的示例程序
clc
c=cell(4);
str=' ';
for i=1:t+2
    str=[str,' '];
end
for i=2:4
    for j=1:4
        c{i,j}=rand(1);
        c{1,j}=['测试',num2str(j),str];
    end
end
cell2csv('ttt.txt',c,t)

下面这个是效果:

[ Last edited by hardstones on 2007-1-19 at 21:37 ]
相关回复:

作者: ppl19833   发布日期: 2007-01-20
:P

作者: huahualiu2004   发布日期: 2007-01-21
:cool:

特别提示:本帖内容由 winds001 提供,小木虫为个人免费站点,仅提供交流平台,不对该内容负责。欢迎协助我们监督管理,如果您对该内容有异议,请立即发邮件联系通知管理员,我们保证在1个工作日内给予处理。

相关网络推荐


小木虫,学术科研第一站,为中国学术科研研究提供免费动力
欢迎监督,发现不妥请立即联系管理员
京ICP备05001187号