是否有一个文本编辑器可以显示列号和/或在网格中显示文本以快速浏览列号?

是否有一个文本编辑器可以显示列号和/或在网格中显示文本以快速浏览列号?

我基本上需要一个文本编辑器,它可以在网格中显示文本,这样我就可以知道文本的确切列号。我使用的数值模拟软件 TOUGH+(用 FORTRAN 编写)具有严格的格式,我需要以精确的格式指定我的输入文件。

这里或那里放错一个字母可能会使整个文件变得毫无用处。所以我需要这个来快速浏览输入文件,并知道/验证哪个文本在哪一列开始和结束。否则,文件有时会变得混乱。

例如,在输入文件片段的图像中,很难一眼就分辨出一个值在哪个地方结束,另一个值在哪个地方开始。

输入文件片段,其中的值由行分隔

我尝试过的最有用的东西是 Notepad++ 中的 TextFX 插件,但是它非常不雅观,因为它只是放置一些字符文本来查看列号。

Text FX 插件

描述我的要求的最好方式是电子表格,但它在一个单元格中只占用一个字符。

答案1

作为答案发布,因为它太大了,甚至无法容纳多条评论。披露:我没有尝试过其中任何一个,但有些已被接受为答案。

就我个人而言,我发现编写一个 Python 脚本来执行以下操作非常简单:

  • 从每行中删除多个空格
  • 将每行拆分成多个单词
  • 根据需要插入空格

答案2

如果您能够使用 Microsoft Access,则可以使用类似于 Excel 的文本转列方法,但其优点是可以保存您的规范以供重复使用。这会将您的固定宽度文本文件导入易于阅读的数据表中。重复导入只需三四次点击即可。

(我不知道这是否与你相关,所以我想把这作为评论,但我没有这方面的名声。)

答案3

使用 VBA(宏)可以轻松解决这个问题:

此代码将循环遍历活动工作簿中的所有工作表,找到搜索范围在每个工作表上,并将值存储在名为查找地址工作表在排队工作表索引的列A

Sub FindAddress()

Sheetindex = 1
For Each ws In Worksheets

  If ws.Name <> FindAddressWorksheet Then
    FindAddressWorksheet.Cells(Sheetindex, 1).Value = _
    ws.Range(Myrange).Value
    Sheetindex = Sheetindex + 1
  End If
Next
End Sub

怎么运行的:

  • 将此宏复制并粘贴为标准模型。
  • 输入要搜索的所有数据,并将其命名为迈兰奇(此名称可编辑)。
  • 将任意空白表命名为查找地址工作表(工作表名称可编辑)在运行宏之前。

如果您仅在工作表上工作,则可以使用它:

Sub FindRange()

    Dim rngX As Range
    Dim Data As String

    Data = InputBox("Write Value", "Obtain Cell Address")
    Set rngX = Worksheets("Sheet1").Range("A1:AFD65000").Find(Data, lookat:=xlPart)

    If Not rngX Is Nothing Then
        MsgBox "Found at " & rngX.Address
    End If

End Sub

注意:

  • 工作表名称和数据范围是可编辑的。

答案4

如果您知道 unix vi 文本编辑器,您可以在其中打开文本文件并初步猜测特定字段或文本项从哪一列开始。例如,如果某个项看起来可能位于第 45 列或附近,则输入 45|(竖线),光标将直接移至该列。然后,您可以按空格或退格键,同时保持计数以确定真正的列号。我碰巧有一个 PC 版的 vi 编辑器,我在命令行上经常使用它。希望这对您有所帮助。

相关内容