如何使用 Notepad++ 计算平面文件中的字段数

如何使用 Notepad++ 计算平面文件中的字段数

我处理了很多以竖线分隔的平面文件,看起来像这样:

John|Smith|01|01|1901|123 Road

有没有办法根据竖线(“|”)找出“1901”是该记录的第 5 个字段?

这将非常有用并且使我免于计算大量文件上的字段。

答案1

使用 Notepad++ 32 位根据管道分隔的字段查找字段编号。

  1. 安装 python 插件。操作如下:

    1. 从菜单中选择插件→插件管理器→显示插件管理器
    2. 勾选Python 脚本并点击安装
  2. 创建新脚本:从菜单中选择插件→Python 脚本→新脚本

  3. 命名脚本Pipe Position并选择节省
  4. 将以下文本粘贴到编辑器中并保存文件
  5. 从菜单中选择插件→Python 脚本→脚本→管道位置

"""
Notepad++ python script to count field based on delimiter.
Displays a message box based on the cursor position when invoked 
"""
from Npp import *
import re

field_delimiter = '|'
current_pos = editor.getCurrentPos()
line_number = editor.lineFromPosition(current_pos)
line_start = editor.positionFromLine(line_number)
line_end = editor.getLineEndPosition(line_number)
line = editor.getTextRange(line_start, line_end)
index = current_pos - line_start
field_number = line.count(field_delimiter, 0, index) 

notepad.messageBox("'%s' is field # %d" % (
    line.split(field_delimiter)[field_number], field_number + 1))

答案2

您是否可以使用更适合该工作的工具?

不用 N++,只要买点好东西CSV 阅读器并在网格中很好地检查列。有些阅读器是免费的。推荐编辑器如果需要,不仅可以读取,还可以编辑 CSV 文件。该编辑器的关键步骤是根据您的 CSV 文件在文件打开屏幕上选择选项:分隔符是什么,值周围是否有引号,值内是否有换行符。然后您的 CSV 文件就可以正确打开了。然后编辑器还会间接计算字段,您可以轻松看到哪个字段是最右边的。关于编辑器的文档不多,作者建议发票或发到论坛。

另外,作为一种更简单的选择,你可以尝试其他 CSV 编辑器如果 reCsvEditor 看起来很复杂。例如,我只是在测试UniCsvEd 1.1这基本上是不需要花钱的。

相关内容