Fortran Coder

楼主: 桂圆莲子汤
打印 上一主题 下一主题

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

[复制链接]

1

帖子

0

主题

0

精华

新人

F 币
12 元
贡献
4 点
楼主
发表于 2017-12-17 10:15:51 | 显示全部楼层
fcode 发表于 2017-4-10 17:20
少了一个引号,请直接复制粘贴我的代码。

按照上面的代码复制了,但是因为原文件有些数据是空缺的,生成的文件空缺的地方自动补充了,请问您有什么解决办法嘛~
[Fortran] 纯文本查看 复制代码
program test
  implicit none  
integer,parameter::nCol = 949
  integer i, j
  character(10000) str(nCol)
  character(*),parameter:: strHead(9)=['date','hour','type','1142A','1143A','1144A','1145A', '1146A','1147A']
  logical L(nCol)
  open(10,file='E:\shuju\zhandian\20140513-20141231\china_sites_20141201.csv')
  open(11,file='E:\shuju\china_sites_20141201.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



捕获.PNG (20.74 KB, 下载次数: 383)

捕获.PNG

捕获1.PNG (18.17 KB, 下载次数: 434)

捕获1.PNG
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-6 13:58

Powered by Tencent X3.4

© 2013-2024 Tencent

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