24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 796  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 本科双非材料,跨考一志愿华电085801电气,283求调剂,任何专业都可以 +6 芝士雪baoo 2026-03-28 7/350 2026-03-28 21:40 by zhq0425
[考研] 生物学学硕,一志愿湖南大学,初试成绩338 +6 YYYYYNNNNN 2026-03-26 7/350 2026-03-28 20:52 by 唐沐儿
[考研] 求调剂 +6 芦lty 2026-03-25 7/350 2026-03-28 13:13 by 唐沐儿
[考研] 085600 286分 材料求调剂 +7 麻辣鱿鱼 2026-03-27 8/400 2026-03-28 12:17 by zllcz
[考研] 339求调剂,想调回江苏 +6 烤麦芽 2026-03-27 8/400 2026-03-28 10:40 by 烤麦芽
[考研] 086502化学工程342求调剂 +6 阿姨复古不过 2026-03-27 6/300 2026-03-28 07:06 by wangy0907
[考研] 275求调剂 +10 jjjjjjjjjjl 2026-03-27 10/500 2026-03-27 23:47 by barnett0632
[考研] 274求调剂 +17 顾九笙要谦虚 2026-03-24 23/1150 2026-03-27 15:16 by caszguilin
[考研] 314求调剂 +3 溪云珂 2026-03-26 3/150 2026-03-27 11:20 by sanrepian
[考研] 324求调剂 +5 hanamiko 2026-03-26 5/250 2026-03-27 10:33 by wangjy2002
[考研] 求调剂323材料与化工 +7 1124361 2026-03-24 7/350 2026-03-27 10:22 by wangjy2002
[考研] 359求调剂 +4 王了个楠 2026-03-25 4/200 2026-03-27 08:43 by 不吃魚的貓
[考研] 284求调剂 +11 junqihahaha 2026-03-26 12/600 2026-03-27 04:37 by wxiongid
[考研] 【双一流院校新能源、环境材料,材料加工与模拟招收大量调剂】 +4 Higraduate 2026-03-22 8/400 2026-03-26 20:34 by Higraduate
[考研] 总分322求生物学/生化与分子/生物信息学相关调剂 +5 星沉uu 2026-03-26 6/300 2026-03-26 19:02 by macy2011
[考研] 材料与化工304求B区调剂 +3 邱gl 2026-03-26 6/300 2026-03-26 18:03 by 邱gl
[考研] 302求调剂 +4 锦衣卫藤椒 2026-03-25 4/200 2026-03-25 16:29 by 功夫疯狂
[考研] 300分,材料,求调剂,英一数二 +5 超赞的 2026-03-24 5/250 2026-03-24 21:07 by 星空星月
[考研] 一志愿山东大学药学学硕求调剂 +3 开开心心没烦恼 2026-03-23 4/200 2026-03-24 00:06 by 开开心心没烦恼
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
信息提示
请填处理意见