24小时热门版块排行榜    

Znn3bq.jpeg
查看: 834  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +13 1234567wang 2026-05-17 15/750 2026-05-21 14:36 by 一碗砂锅米线
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[论文投稿] 投稿求助,期刊 +3 希冀,有书读 2026-05-20 4/200 2026-05-21 11:07 by 希冀,有书读
[基金申请] 评审有感 +15 popular289 2026-05-18 26/1300 2026-05-21 10:35 by 西葫芦炒鸡蛋
[基金申请] 河北省自然科学基金 +4 Peterchao 2026-05-18 4/200 2026-05-21 08:17 by articlefan
[论文投稿] 投MDPI的三个期刊都被桌拒 +3 木虫研究牲 2026-05-17 4/200 2026-05-21 08:02 by bobvan
[文学芳草园] 献血感触 +7 呀呀好傻 2026-05-19 12/600 2026-05-21 07:08 by maolC
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 8/400 2026-05-20 22:19 by Equinoxhua
[有机交流] 如何实现卤原子转化 +3 BT20230424 2026-05-15 8/400 2026-05-20 09:32 by xtlilibin
[教师之家] 上海大学实验技术岗位非升即走 +12 嘻嘻哈哈乐呵呵 2026-05-15 13/650 2026-05-20 08:34 by xli1984
[考博] 找博士生导师 +6 小代想上岸 2026-05-15 7/350 2026-05-19 10:22 by free_fisher
[考博] 26/27申博自荐-锂/钠电池方向 5+3 狗头军师. 2026-05-15 4/200 2026-05-19 09:10 by moonboat
[基金申请] 同样的基金本子,换个专家直接从C变A! (金币-10) +3 国自然国社科中 2026-05-19 3/150 2026-05-19 08:50 by Equinoxhua
[考博] 2026博士还有哪些学校有名额 +7 小王求读研 2026-05-15 8/400 2026-05-19 08:27 by zhyzzh
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[基金申请] 国自然上会要求 +5 无名者登山 2026-05-18 9/450 2026-05-18 17:50 by BlakeReary
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
[文学芳草园] 半夜喝咖啡 +3 myrtle 2026-05-15 5/250 2026-05-18 01:03 by 小沈2018
[考博] 光量子物理方向 博士招生 1人(2026.09) +3 sandyworld 2026-05-15 4/200 2026-05-17 14:38 by sandyworld
[硕博家园] 申请博士 +3 呃?呃 2026-05-15 3/150 2026-05-16 11:01 by a4742549
信息提示
请填处理意见