write的问题,去掉最外层括号就好。[Fortran] 纯文本查看 复制代码 program test
implicit none
integer,parameter::nCol = 113
integer i, j
character(80) str(nCol)
character(*),parameter:: strHead(6)=['alloc_key','whea','whea_h','whea_l', 'whea_i','whea_s']
logical L(nCol)
open(11,file='2.csv')
open(10,file='1.csv')
!读取表头
read(10,*) str
!判断需要读取的列
L = .false.
do i = 1, nCol
str(i) = adjustl( str(i) )
if( any(trim(str(i))==strHead) ) then
L(i) = .true.
write(11,"(a,',')",advance='no') trim( str(i) ) !输出新表头
end if
end do
write(11,*)
do
read(10,*,iostat=j) str
if(j/=0) exit
do i =1, nCol
if(.NOT.L(i)) cycle
write(11,'(a,",")',advance='no') trim( str(i) )
end do
write(11,*)
end do
end program test
|