Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么fortran不能读取一行并写入文件?

为什么fortran不能读取一行并写入文件?
EN

Stack Overflow用户
提问于 2020-06-11 13:07:41
回答 1查看 93关注 0票数 0

我正在尝试读取一个文件,将每一行放入一个名为row的变量中,然后从该行获取特定位置的值,并将其放入另一个变量中。然后,它应该写入该文件。你怎么做到的?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
program read_block
implicit none
real :: x,y
integer :: ios
character(len=100) :: row

open(unit=101, file='block2trimmed.gro',action='read',status='old')
open(unit=102, file='readoutput.gro', action='write',status='new')
do
read(101, '(i5,2a5,i5,3f8.3,3f8.4)',iostat=ios) row
if (ios /= 0) exit
read(row(21:28),*) x
read(row(29:36),*) y


write(102,*) x , y
end do
close(101)
close(102)
end program read_block
EN

回答 1

Stack Overflow用户

发布于 2020-06-11 14:30:16

OP似乎混淆了两种不同的读取文件的方法,这两种方法中的任何一种都可以工作,但不能同时使用两种方法。

您可以读取整行文本(放入row变量),然后将其拆分到单独的数据字段中(使用read(row(21:28),*) x或类似方法)。或者,可以根据需要将单独的字段直接读取到变量中,使用格式告诉代码在哪里可以找到每一行上的各个项。对于.gro文件,使用后一种方法。文件中的行按照格式中指定的方式进行了仔细的布局。

这一行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
read(101, '(i5,2a5,i5,3f8.3,3f8.4)',iostat=ios) row

小心地告诉编译器要读取

  • 是5个字符宽度字段中的整数;
  • 两个字符串,每个字符串5个字符宽度字段中的5个字符整数;
  • 3个实数,来自8个字符的字段,小数点后有3位;
  • 3个实数,来自8个字符的字段,小数位后有4个数字;

然后告诉它将它们都塞进一个名为row的100个字符的字符串中。这有点疯狂,当它试图将字符串解析回单独的元素时甚至更疯狂。去掉这一行,代之以下面这样的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
read(101, '(i5,2a5,i5,3f8.3,3f8.4)',iostat=ios) int1, str1, str2, int2, r1, r2, r3, r4, r5, r6

为了让它起作用,您必须声明所有这些变量,并且您可能希望为它们指定更有意义的名称。如果你只对其中的一些变量感兴趣,忽略其他的变量。

可以将这一行读入字符串row,然后将其拆分开来,但是需要另外10行代码才能实现这一行的功能,并且完全省去了row。Gromos的.gro文件是为了便于阅读而设计的,所以阅读起来也很容易。

至于将它们写出来,正确的方法取决于您下一步要对数据做什么,而不是一行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
write(102,*) int1, str1, str2, int2, r1, r2, r3, r4, r5, r6

是快速而简单的,尽管它可能不是您所需要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62325175

复制
相关文章
Python读取Excel文件并写入数据库
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> 1:pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip install xlrd 2:安装pandas模块还需要一定的编码环境,所以我们自己在安装的时候,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_web,如果大家没有这些软件~可以咨询我们的辅导员索要相关安装工具。 3:步骤1和2 准备好了之后,我们就可以开始安装pandas了,安装命令是:pip install pandas
Python之道
2020/04/10
4K0
Python读取Excel文件并写入数据库
文件的读取写入
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
bering
2019/12/03
2.7K0
MySQL读取写入文件
MySQL读取和写入文件在ctf或者awd中,常用于读取flag或者写入一个一句话木马,通过特定函数将其写入
vFREE
2022/08/08
5.4K0
文件读取和写入
从文件a.txt中读取三个整数,然后把这三个整数保存到b.txt中,两整数之间一个空格。
小Bob来啦
2020/12/15
2.2K0
文件读取和写入
python读取excel并写入excel_python如何读取文件夹下的所有文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
2.7K0
Python读取文件和写入文件
函数open(filename,mode)用于读取文件,返回一个file object。 所以现在我们的f是一个文件对象
TeeyoHuang
2019/05/25
3.6K0
python文件操作读取文件写入文件
要使用文本文件中的信息,首先需要将信息读取到内存中。为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取。
章鱼喵
2018/09/26
11.3K0
java读取写入CSV文件
[1]使用Split函数分成一个String[]: https://blog.csdn.net/u013555719/article/details/106029538
演化计算与人工智能
2020/08/14
4.1K0
java读取写入CSV文件
Python读取和写入文件
#Read and Write from Files# #coding=utf-8 import codecs f = open("AccountList.txt","w") L = u"张三\n李四\n王五\n赵六" f.write(L) f.close() f = open("AccountList.txt","r") print (f.readline())    #read lines one by one print (f.readline()) print (f.readline()) print (f.readline()) f.seek(0) print (f.readlines())   #Output lines as a list
py3study
2020/01/14
1.9K0
HDFS如何读取文件以及写入文件
成都加米谷大数据科技有限公司是一家专注于大数据人才培养的机构。由来自阿里、华为、京东、星环等国内知名企业的多位技术大牛联合创办,技术底蕴丰厚,勤奋创新,精通主流前沿大数据及人工智能相关技术。
加米谷大数据
2018/07/25
1.9K0
【PHP】文件写入和读取详解
文章提纲: 一.实现文件读取和写入的基本思路 二.使用fopen方法打开文件 三.文件读取和文件写入操作 四.使用fclose方法关闭文件 五.文件指针的移动 六.Windows和UNIX下的回车和换
啦啦啦321
2018/01/03
4K0
【PHP】文件写入和读取详解
flink读取kafka数据并写入HDFS 转
### 本地代码flink streaming读取远程环境的kafka的数据,写入远程环境的HDFS中; public static void main(String[] args) throws Exception { // set up the streaming execution environment final StreamExecutionEnvironment env =StreamExecutionEnvironment.getExecutionEn
stys35
2019/03/05
8.4K1
SparkDSL修改版之从csv文件读取数据并写入Mysql
import java.sql.{Connection, DriverManager, PreparedStatement} import org.apache.spark.sql.{DataFrame, Row, SparkSession} import org.apache.spark.sql.functions._ import org.apache.spark.storage.StorageLevel /** * 电影评分数据分析,需求如下: * 需求1:查找电影评分个数超过50,
Maynor
2022/04/06
1.8K0
Java逐行读取和写入文件
前面两篇博客讲到go语言逐行读取和写入文件以及nodejs使用readline逐行读取和写入文件和C#逐行读取和写入文件 今天使用Java实现同样的功能,即从输入文件中读取每行数据,然后将每行字段组合成SQL插入脚本,然后逐行写入另外一个空白文件中。
ccf19881030
2020/09/07
2.7K0
Java逐行读取和写入文件
Java读取txt文件和写入txt文件
网友推荐更加简洁的写法,修改之后的代码; 项目实用优化,增加java7中的try-with-resources写法
全栈程序员站长
2022/09/17
5.9K0
创建Shapefile文件并写入数据
下面的例子中,我们读取GeoJSON表示的中国省区数据,然后其转为Shapefile格式。
卡尔曼和玻尔兹曼谁曼
2019/01/22
2.4K0
创建Shapefile文件并写入数据
再也不用复制粘贴了!自动读取Word文件并写入Excel
在做数据分析时,虽然操作docx并不是常用操作,但有些时候,数据分析师拿到的文件是docx或doc的Word文件,尤其是对数据具有至关重要的数据字典。接下来以一个数据字典为例来介绍下python-docx读取Word文件的基本操作。并将Word中的表格内容写入excel中。
数据STUDIO
2021/06/24
2.7K0
使用JAVA读取和写入EXCEL文件
下载地址http://download.csdn.net/detail/u010634066/8302683  下载直接用
石臻臻的杂货铺[同名公众号]
2021/07/14
1.8K0
点击加载更多

相似问题

Fortran:写入和读取格式化文件

10

从Fortran中的同一个文件中写入并读取

13

读取InputStream并写入文件

34

在fortran95中读取和写入文件

246

读取sql文件并写入csv文件

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文