Solución:
Puede usar el complemento TextFX: Editar> Alinear varias líneas por …
Nota: esto no funciona si el archivo es de solo lectura.
http://tomaslind.net/2016/02/18/how-to-align-columns-in-notepad/
Actualización 2019: enlace de descarga de SourceForge
Puede usar este script de complemento de Python que utiliza la biblioteca csv que se encarga de csv citado y muchas otras variantes.
Configuración:
- Utilice el administrador de complementos en Notepad ++ para instalar el complemento “Python script”.
- Complementos-> Python Script-> New Script (llámelo como CSVtoTable.py)
- Pegue el siguiente script de Python en el nuevo archivo y guárdelo:
CSVtoTable.py
import csv
inputlines = editor.getText().split('n')
# Get rid of empty lines
inputlines = [line.strip() for line in inputlines if line.strip()]
reader = csv.reader(inputlines, delimiter=",")
csvlist = [line for line in reader]
# transpose to calculate the column widths and create a format string which left aligns each row
t_csvlist = zip(*csvlist)
col_widths = [max([len(x) for x in t_csvlist[y]]) for y in range(len(t_csvlist))]
# To right align - change < to >
fmt_str=" ".join(['{{:<{0}}}'.format(x) for x in col_widths]) + 'rn'
text = []
for line in csvlist:
text.append(fmt_str.format(*line))
# open a new document and put the results in there.
notepad.new()
editor.addText(''.join(text))
- Abra su archivo CSV en notepad ++
- Haga clic en Complementos-> Python Script-> Scripts -> (El nombre que usó en el paso 2)
- Debería abrirse una nueva pestaña con los datos formateados.
Actualizar (números alineados a la derecha y cadenas alineadas a la izquierda):
Use la siguiente secuencia de comandos de Python si desea alinear a la derecha los campos numéricos del CSV; mira la segunda línea del csv para determinar los tipos de campos.
import csv
import re
num_re = re.compile('[-+]?d+(.d+)?')
inputlines = editor.getText().split('n')
# Get rid of empty lines
inputlines = [line.strip() for line in inputlines if line.strip()]
reader = csv.reader(inputlines, delimiter=",")
csvlist = [line for line in reader]
# Transpose to calculate the column widths and create a format string which left aligns each row
t_csvlist = zip(*csvlist)
col_widths = [max([len(x) for x in t_csvlist[y]]) for y in range(len(t_csvlist))]
# Numbers get right aligned
type_eval_line = csvlist[1 if len(csvlist)>1 else 0]
alignment = ['>' if num_re.match(item) else '<' for item in type_eval_line]
# Compute the format string
fmt_str=" ".join(['{{:{0}{1}}}'.format(a,x) for x,a in zip(col_widths,alignment)]) + 'rn'
text = []
for line in csvlist:
text.append(fmt_str.format(*line))
# open a new document and put the results in there.
notepad.new()
editor.addText(''.join(text))
Puede utilizar Buscar y reemplazar para cambiar todas las apariciones de ,
para ,t
. Esto agregará una pestaña después de cada ,
.
Sin embargo, este método tiene algunos inconvenientes:
- efectivamente agrega caracteres de espacio en blanco a su documento (en caso de que necesite editarlo y guardarlo).
- Esto funciona bien solo si la diferencia (en términos de número de caracteres) entre los números más largos y más cortos es menor que 1 tamaño de pestaña (generalmente 4 caracteres).
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)