Fortran数据格式的3F7.1的含义

时间:2017-12-19 13:08:48

标签: fortran format

我正在尝试使用HLM 7学生版创建MDM文件,但由于我无法访问SPSS,因此我尝试使用ASCII输入导入数据。作为此过程的一部分,我需要输入Fortran样式的数据格式。尽我所能,我可能无法理解这一步。熟悉Fortran(甚至更好的HLM本身)的人可以向我解释一下这是如何工作的吗?这是我目前的理解

From the example EG3.DAT they give 

    (A4,1X,3F7.1)

I think

A4 signifies that the ID is 4 characters long.
1X means skip a space.
F.1 means that it should read 1 decimal places.

我对3F7的含义感到非常困惑。

EG3.DAT

2020   380.0   40.3   12.5
2040   502.0   83.1   18.6
2180   777.0   96.6   44.4

以下是帮助文档中的示例。

Rules for format statement Format statement example

EG1 data format EG2 data format EG3 data format

3 个答案:

答案 0 :(得分:1)

一个类似的问题是Explaining Fortran Write Format。不幸的是,它没有明确地处理F描述符。

3F7.1表示3个浮点数,每个数字打印超过7个字符,每个字符在小数点后面都有一个十进制数。主角是空白。

对于阅读,您根本不需要.1信息,只需从这7个字符中读取浮点数。

你猜对了A4(四个字符串)和1X(一个空白)的含义正确。

答案 1 :(得分:0)

在Fortran中,所谓的数据编辑描述符(格式化数据的输入或输出)可能有重复的规范。

格式为Button.OnCliickListner(),数据编辑描述符为(A4,1X,3F7.1)A4。只有F7.1有重复规范(F7.1之前的数字)。这只是意味着格式就像描述符重复出现一样:如F。重复规范F7.1, F7.1, F7.1,或者没有给出,只有单一的外观。

然后,问题的格式就像

1

此格式是问题图像之一中提供的规则所涵盖的格式。特别是,重复规范的方面在规则2中给出了规则3的相应示例。

此外,在Fortran本身,重复计数说明符也可能是(A4,1X,F7.1,F7.1,F7.1) 作为特例:这就像一个特别大的重复计数。 *就像*(F7.1)。我没有看到HLM支持这一点的迹象,但如果需要,可能会给出非常大的重复次数。

F7.1, F7.1, F7.1, ... 1X中,1不是重复规范,而是位置编辑描述符的必要组成部分。

答案 2 :(得分:0)

从excel for HLM制作MDM文件的步骤:

- 确保所有列中的所有字符都排成一行

  • 选择一列,然后右键单击并选择格式化单元格
  • 然后点击'自定义'并转到' Type'框并输入数字 0,你需要排列一切

- 删除文档中的所有选项卡,并用空格替换它们。

  • 用文字打开文档并使用查找和替换

- 将文档另存为.dat

  • 首先将其另存为.txt

  • 然后在记事本中将其打开并保存为.dat

输入数据格式(FORTRAN-Style)

程序想要按空格读取数据文件空间,因此必须完全指定它以便正确读取整个集合。 如果有什么东西是关闭的,即使是一个空格,那么与你在另一个程序中检查它们相比,你的描述性统计数据会有所不同。

  • 用括号()
  • 括起代码
  • 用逗号分隔条目

- 所有级别的需要ID列

  • 需要对ID列进行排序,使其从最小到最小 最大

  • 使用A#,其中#是ID

  • 中的字符数
  • 使用X1来 从ID移动到下一列

- 需要说明每列需要多少个字符

  • 使用F
  • F是该列所需的字符数 - 使用F#(#=数字)

  • 需要有足够的角色空间来提供一个“差距”。空间 每列之间

  • 需要足够的字符空格以允许小数

  • 作为F的一部分,您需要指定小数位数

  • 您可以通过在F编号后添加小数点然后执行此操作来执行此操作 数字代表你需要的空间-F#。#

  • 您可以在F前面使用一个数字,以便重复'它。不 虽然必要。 - #F##

总而言之,它看起来应该是这样的:

(A4,X1,F4.0,F5.1)

有用的链接:

https://books.google.de/books?id=VdmVtz6Wtc0C&pg=PA78&lpg=PA78&dq=data+format+fortran+style+hlm&source=bl&ots=kURJ6USN5e&sig=fdtsmTGSKFxn04wkxvRc2Vw1l5Q&hl=en&sa=X&ved=0ahUKEwi_yPurjYrYAhWIJuwKHa0uCuAQ6AEIPzAC#v=onepage&q&f=false http://www.ssicentral.com/hlm/help6/error/Problems_creating_MDM_files.pdf http://www.ssicentral.com/hlm/help7/faq/FAQ_Format_specifications_for_ASCII_data.pdf