Como posso contar os campos em um arquivo simples usando o Notepad ++?

1

Eu trabalho com muitos arquivos simples que são delimitados por pipe e se parecem com:

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

Existe uma maneira de descobrir que '1901' é o quinto campo desse registro baseado nos canais ('|')?

Isso seria incrivelmente útil e me salvaria de ter que contar campos em arquivos enormes.

    
por LikestoLearn 12.05.2017 / 21:13

2 respostas

0

Para localizar o número do campo com base em campos delimitados por pipe usando o Notepad ++ de 32 bits.

  1. Instale o plug-in do python. Para fazer isso:

    1. No menu, selecione Plug-ins → Gerenciador de plug-ins → Mostrar Gerenciador de plug-ins
    2. Marque a caixa Script Python e clique em Instalar
  2. Crie um novo script: No menu, selecione Plugins → Script Python → Novo script

  3. Nomeie o script Pipe Position e selecione Salvar
  4. Cole o texto abaixo no editor e salve o arquivo
  5. No menu, selecione Plug-ins → Script Python → Scripts → Posição de tubulação
"""
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))
    
por 12.05.2017 / 22:13
1

É possível usar uma ferramenta mais adequada para o trabalho?

Em vez do N ++, basta pegar um bom leitor de CSV e verificar colunas bem na grade. Alguns leitores são livres. O reCsvEditor recomendado não só pode ler, mas também editar arquivos CSV, se for necessário. A etapa principal nesse editor é selecionar as opções na tela de abertura do arquivo de acordo com o seu arquivo CSV: o que é o delimitador, se há cotações em torno dos valores, se há quebras de linha dentro dos valores. Então o seu arquivo CSV está aberto corretamente. Em seguida, o editor também conta indiretamente os campos, você pode ver facilmente qual campo é o mais à direita. Não há muita documentação sobre o editor, o autor sugere postar um ticket ou postar em fóruns.

Além disso, como alternativa mais fácil, você pode tentar encontrar outros editores de CSV , se o reCsvEditor parecer complexo . Por exemplo, estou apenas testando o UniCsvEd 1.1 que é basicamente sem dinheiro.

    
por 12.05.2017 / 21:25