24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 798  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂求院校招收 +5 鹤鲸鸽 2026-03-28 5/250 2026-03-29 01:10 by 我是小康
[硕博家园] 求调剂 330分 085600材料与化工 +3 gqhhh 2026-03-22 3/150 2026-03-29 00:52 by 544594351
[硕博家园] 求调剂 有机化学考研356分 +3 Nadiums 2026-03-25 4/200 2026-03-29 00:50 by 544594351
[考研] 295材料工程专硕求调剂 +7 1428151015 2026-03-27 7/350 2026-03-28 19:58 by S240
[考研] 张芳铭-中国农业大学-环境工程专硕-298 +4 手机用户 2026-03-26 4/200 2026-03-28 07:17 by mmm just
[考研] 340求调剂 +5 jhx777 2026-03-27 5/250 2026-03-28 04:18 by fmesaito
[考研] 352分 化工与材料 +5 海纳百川Ly 2026-03-27 5/250 2026-03-28 03:39 by fmesaito
[考研] 275求调剂 +10 jjjjjjjjjjl 2026-03-27 10/500 2026-03-27 23:47 by barnett0632
[考研] 一志愿211院校 344分 东北农业大学生物学学硕,求调剂 +5 丶风雪夜归人丶 2026-03-26 8/400 2026-03-27 19:22 by 丶风雪夜归人丶
[考研] 求调剂 +4 零八# 2026-03-27 4/200 2026-03-27 18:07 by yu221
[考研] 324求调剂 +8 hanamiko 2026-03-26 10/500 2026-03-27 08:06 by hypershenger
[考研] 289求调剂 +17 硕星赴 2026-03-23 17/850 2026-03-26 16:18 by 不吃魚的貓
[考研] 303求调剂 +6 蓝山月 2026-03-25 6/300 2026-03-25 22:47 by 418490947
[考研] 一志愿南航 335分 | 0856材料化工 | GPA 4.07 | 有科研经历 +6 cccchenso 2026-03-23 6/300 2026-03-25 22:25 by 544594351
[考研] 334分 一志愿武理-080500 材料求调剂 +4 李李不服输 2026-03-25 4/200 2026-03-25 21:26 by 星空星月
[考研] 材料与化工304求B区调剂 +3 邱gl 2026-03-25 3/150 2026-03-25 19:03 by Ainin_
[考研] 一志愿武理085500机械专业总分300求调剂 +3 an10101 2026-03-24 7/350 2026-03-25 00:00 by 山鬼0-
[有机交流] 有机合成求助 20+3 FENGSHUJEI 2026-03-23 5/250 2026-03-24 19:31 by 88817753
[考研] 328求调剂 +4 LHHL66 2026-03-23 4/200 2026-03-23 14:55 by lbsjt
[考研] 石河子大学(211、双一流)硕博研究生长期招生公告 +3 李子目 2026-03-22 3/150 2026-03-22 21:01 by 怎么释怀
信息提示
请填处理意见