主题:[讨论]大家看看我的这个fortran读取程序有什么问题?
在统计分析中,常常会遇到带有标题的数据文件,例如
Name Sex Age Height Weight
Alice F 13 56.5 84.0
Becka F 13 65.3 98.0
Gail F 14 64.3 90.0
Karen F 12 56.3 77.0
Kathy F 12 59.8 84.5
Mary F 15 66.5 112.0
记该数据为test.txt(当然实际中可能有更多的行和列)
这在统计软件R中很好实现
>mydata<-read.table("test.txt", head=TRUE)
>mydata
Alice F 13 56.5 84.0
Becka F 13 65.3 98.0
Gail F 14 64.3 90.0
Karen F 12 56.3 77.0
Kathy F 12 59.8 84.5
Mary F 15 66.5 112.0
由于R和matlab一样是解释性的语言,当数据量很大的时候效率可能不如fortran和C等编译性语言,故希望
用fortran做同样的工作,只因为fortran的简洁性和可靠性。
我在网上找到http://zhidao.baidu.com/question/210249438.html
按照网上资料的提示我做了以下工作
新建了一个数据文件file1.txt,内容如下
it's amazing ,so amazing
I want to know the ideal measure,
but it's ungelivable
1 1.37827E+03 -10.9404E+03 1.57338E+03
2 7.37253E+03 -59.6376E+03 9.32621E+03
3 -28.0707E+03 28.1755E+03 -9.80144E+03
再按照网上资料的提示我在IVF上写了个fortran90的程序
CHARACTER(len=1000) :: C
real,dimension(12) ::A !!因为数据有3行12个数字
INTEGER I,J
open(10,file='file1.txt')
DO I=1,3 ! 前面有几行文字就循环到几
READ(10,*) C
ENDDO
open(11,file='file2.txt')
DO J=1,size(A)
READ(10,*) A !!读数据
WRITE(11,*)A !!写数据
ENDDO
END
这个程序在运行过程中说我的程序触发了一个断点,我将该问题忽略继续运行,得到file2.txt,里面只含有
数值数据,没有了字符数据,内容如下:
1.000000 1378.270 -10940.40 1573.380 2.000000
7372.530 -59637.60 9326.210 3.000000 -28070.70
28175.50 -9801.440
虽然勉强还行,可是我还是不满意,原因有2
1,运行不流畅,出现了断点
2,输出的数据格式不符合期望,我原本想得到
1 1.37827E+03 -10.9404E+03 1.57338E+03
2 7.37253E+03 -59.6376E+03 9.32621E+03
3 -28.0707E+03 28.1755E+03 -9.80144E+03
学生我初来乍到,还望大虾们给点意见神马的,先谢谢大家了!
Name Sex Age Height Weight
Alice F 13 56.5 84.0
Becka F 13 65.3 98.0
Gail F 14 64.3 90.0
Karen F 12 56.3 77.0
Kathy F 12 59.8 84.5
Mary F 15 66.5 112.0
记该数据为test.txt(当然实际中可能有更多的行和列)
这在统计软件R中很好实现
>mydata<-read.table("test.txt", head=TRUE)
>mydata
Alice F 13 56.5 84.0
Becka F 13 65.3 98.0
Gail F 14 64.3 90.0
Karen F 12 56.3 77.0
Kathy F 12 59.8 84.5
Mary F 15 66.5 112.0
由于R和matlab一样是解释性的语言,当数据量很大的时候效率可能不如fortran和C等编译性语言,故希望
用fortran做同样的工作,只因为fortran的简洁性和可靠性。
我在网上找到http://zhidao.baidu.com/question/210249438.html
按照网上资料的提示我做了以下工作
新建了一个数据文件file1.txt,内容如下
it's amazing ,so amazing
I want to know the ideal measure,
but it's ungelivable
1 1.37827E+03 -10.9404E+03 1.57338E+03
2 7.37253E+03 -59.6376E+03 9.32621E+03
3 -28.0707E+03 28.1755E+03 -9.80144E+03
再按照网上资料的提示我在IVF上写了个fortran90的程序
CHARACTER(len=1000) :: C
real,dimension(12) ::A !!因为数据有3行12个数字
INTEGER I,J
open(10,file='file1.txt')
DO I=1,3 ! 前面有几行文字就循环到几
READ(10,*) C
ENDDO
open(11,file='file2.txt')
DO J=1,size(A)
READ(10,*) A !!读数据
WRITE(11,*)A !!写数据
ENDDO
END
这个程序在运行过程中说我的程序触发了一个断点,我将该问题忽略继续运行,得到file2.txt,里面只含有
数值数据,没有了字符数据,内容如下:
1.000000 1378.270 -10940.40 1573.380 2.000000
7372.530 -59637.60 9326.210 3.000000 -28070.70
28175.50 -9801.440
虽然勉强还行,可是我还是不满意,原因有2
1,运行不流畅,出现了断点
2,输出的数据格式不符合期望,我原本想得到
1 1.37827E+03 -10.9404E+03 1.57338E+03
2 7.37253E+03 -59.6376E+03 9.32621E+03
3 -28.0707E+03 28.1755E+03 -9.80144E+03
学生我初来乍到,还望大虾们给点意见神马的,先谢谢大家了!