24小时热门版块排行榜    

查看: 961  |  回复: 7
当前主题已经存档。

goalry

金虫 (正式写手)

[交流] 怎么实现对有格式数据的读取?

如下图,为含有原子坐标和类型的数据文件,每一种类型的数据各自为列,我想编程实现对如下数据的读取,请指教能用什么语言的哪些语句可以实现??

[ Last edited by csfn on 2008-12-29 at 20:26 ]
回复此楼
君子以自强不息,厚德载物
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★ ★
spur(金币+3,VIP+0):感谢帮助!辛苦了!!:)
goalry(金币+1,VIP+0):谢谢老兄!!
所有的编程语言都有这个功能。
然而,你必须事先设计好适当的数据结构来“盛”读到的数据。
以C语言为例
对每行来说,可以用
struct
{
    int   ln;
    char name[256];
    int   a;
    double x, y, z;
    double m;
} strLine;
来“盛”;
而整个文件(除了前几行),则对应着一个由strLine构成的数组。
对前几行来说,也需要设计相应的结构。

至于具体的按格式读,可以用fgets()和sscanf()组合使用。

FILE * fp=NULL
char aline[256];
strLine bline;

......// fp已经正常打开,前几行读完之后。
while (1)
{
       if (fgets (aline, 255, fp) == NULL)
            break;
       if (sscanf(aline, "%d %s %d %lf %lf %lf %lf",
          &bline.ln,
          bline.name,
          &bline.a,
          &bine.x,
          &bine.y,
          &bine.z,
          &bine.m) != 7)
             break;
          // 成功地读了一行
      ......
}

[ Last edited by yalefield on 2007-12-26 at 17:56 ]
2楼2007-12-26 17:50:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

carlon

金虫 (小有名气)

★ ★
spur(金币+2,VIP+0):感谢参与!:)
用c是比较快的也比较合适的,不过得需要一定的基础
如果不是很了解,建议看看入门的教材
3楼2007-12-26 18:32:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

★ ★ ★
spur(金币+2,VIP+0):感谢参与,欢迎常来!
goalry(金币+1,VIP+0):是的!!
楼上用C实现,的确是个好办法。
在matlab里面也可以实现对文本文件中任何数据的读取。
在这里,不论的扩展名如何,只要这个文件中的数据储存是ascii码,就可以用
fid=fopen(.)
while ~feof(fid)
t_text=fgetl(.)
……
end
这样你就可将里面的数据及其信息给读进去了。
然后就可以进行你想要得操作 。
这些如果不熟的话,建议看一下matlab的help或者是看一些这个方面的书。
What would Jesus do?
4楼2007-12-26 22:28:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fah

铁杆木虫 (著名写手)

好像拷贝到word中后在copy到excel即可(偶做过一次)
5楼2007-12-27 08:47:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liueast

木虫 (正式写手)

荣誉斑竹

★ ★ ★
spur(金币+0,VIP+0):感谢参与,欢迎常来!
spur(金币+2,VIP+0):忘了给你加BB!~~~:)
goalry(金币+1,VIP+0):3Q!
我做过类似的一个sdf格式的文本的读取,用java做的,用的是readline函数,这要看你对哪种编程语言熟悉了,其实语言只是工具,哪种都可以的。
走下去,不管路途有多艰险。
6楼2007-12-27 14:35:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cationly

木虫 (正式写手)

简单一点的可以用linux下的awk命令
7楼2007-12-27 17:34:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

读是读进来了,下面要干什么呢?
可不要像纪晓岚说老太监那样。
8楼2007-12-27 18:26:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 goalry 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[职场人生] 40+中年人失业后,还能找到好工作吗? +11 xqy2009 2026-10-13 13/650 2026-10-15 21:32 by bear2007
[有机交流] 用NBS溴化时溶剂除了CCl4外还有什么 +3 18834002860 2026-10-12 6/300 2026-10-15 14:30 by 长沙摩尔信息科�
[基金申请] 申请科研项目纯靠实力能成功吗? 200+7 David1982 2026-10-13 11/550 2026-10-15 10:30 by zyqchem
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
信息提示
请填处理意见