fortran - 如何从 dat 文件中提取数据?
问题描述
我想使用 fortran 代码在我的 .dat 文件的 1、3、5、9、11、.... 行中提取值。这是我的代码
program one
integer x, y, z
open (unit=10, file='try.dat', status='old')
open (unit=20, file='run_energy.dat', status='unknown')
dimension time(40), energy(40)
do y=1,13
z=2*(y-1)
do x=(z+1),(z+1)
read (10,*) time(x), energy(x)
write(20,*) time(x), energy(x)
end do
end do
stop
end
~
但是,我没有得到与我上面提到的行相对应的值。你能请任何人帮助我吗?
谢谢你。
解决方案
您需要跳过行(虚拟读取)。像这样的东西:
x = 1
do i=1,13
! Read only if at correct line of 'try.dat'
if (i == 2*(x-1)+1) then
read (10,*) time(x), energy(x)
write(20,*) time(x), energy(x)
! Increment x
x=x+1
else
! Skip line
read (10,*)
end if
end do
亲切的问候。
推荐阅读
- python - 递归如何跟踪答案?
- gitlab - 关于 gitlab 权限
- javafx - 如何增加记分牌,java fx
- ios - 如何根据 UIImageView 的高度估计 UITableViewCell 的高度
- javascript - 未捕获的类型错误:document.getElementbyId 不是函数式吃豆人风格的游戏
- java - 获取天数
- firebase - 查询多个集合中的数据
- stripe-payments - 自定义 Shopify 定期付款/订阅
- graph-algorithm - 最大不相交边数
- excel - 如何使用 VBA 实现数据透视表并将其与另一个工作表中的列值匹配