Fortran Coder

查看: 41591|回复: 20
打印 上一主题 下一主题

[文件读写] fortran抽取csv文件中某几列,写成新文件(新手求教)

[复制链接]

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
楼主
发表于 2017-4-8 18:23:48 | 显示全部楼层
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



您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 15:07

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表