¿Cómo puedo grep data en Excel?


11

Tengo un archivo de Excel que contiene datos en dos columnas como:

Operator ID           MXS1268
Name                  ramesh    

Necesito verificar si hay duplicados en varios archivos de Excel que tienen el mismo valor para la ID del operador y mostrarlos o colocarlos en algún archivo de registro.


Dependiendo de lo que quieras hacer, hay diferentes formas de hacerlo en Excel. Si desea buscar, puede hacerlo a través de Ctrl + F, mostrando el cuadro de diálogo Buscar. Si hay varios criterios, quizás los filtros lo ayuden. Para eliminar duplicados hay varias formas. Tendrá que ser un poco más claro en lo que necesita. Sin embargo, lo más probable es que si busca en este sitio, encontrará lo que necesita, ya que sus requisitos parecen ser lo suficientemente simples.
Amer

1
¿Están todos los archivos de Excel en el mismo formato de dos columnas? ¿Son los archivos .xlsxo .csv? ¿Los archivos tienen varias hojas? Agregar más información a su pregunta lo ayudará a obtener respuestas.
Excellll

convertir a texto y grep.
Ярослав Рахматуллин

Respuestas:


5

¿Todavía no hay respuestas decentes? Como dijiste grep, supongo que sabes cómo usar un shell;

$ link=http://wizard.ae.krakow.pl/~jb/xls2txt/xls2txt-0.13.tar.gz
$ wget -nv "$link" && \
  tar xf `basename "$link"` && \
  cd $(basename "$link" .tar.gz) &&\
   make
2013-07-24 URL:(...)/xls2txt-0.13.tar.gz [12419/12419] -> "xls2txt-0.13.tar.gz"
cc -O2 -g -DVERSION=0.13 -c xls2txt.c -o xls2txt.o
cc -O2 -g   -c -o ole.o ole.c
cc -O2 -g   -c -o cp.o cp.c
cc -O2 -g   -c -o ummap.o ummap.c
cc -O2 -g   -c -o ieee754.o ieee754.c
cc -lm  xls2txt.o ole.o cp.o ummap.o ieee754.o   -o xls2txt

$ awkf() { awk -F\\t '{ printf "%20s | %-20s\n", $1, $2 }' ; }
$ x2t() { ./xls2txt $1 C4:D5 | awkf > `basename "$1" .xls`.txt ; }
$ x2t ramesh2.xls ; x2t ramesh.xls

Y el informe:

$ grep MXS1268 ramesh*txt
ramesh.txt:         Operator ID | MXS1268
ramesh2.txt:         Operator ID | MXS1268

Puede obtener una copia en el archivo de entrada con wget http://sprunge.us/MbhE -q -O- | base64.exe -d > ram.xls.
Ярослав Рахматуллин

Quiero probar su solución, pero su enlace está "Prohibido"
Ken Ingram

solo mira el archivo antes de ejecutarlo, no seas tonto.
Ярослав Рахматуллин

Escucha. No te pongas personal. Me sale un error 403 con ese enlace. "2019-02-08 09:38:13 ERROR 403: Prohibido".
Ken Ingram

1
Okay. Pensé que querías decir algo más. simplemente google el paquete xls2txt
Ярослав Рахматуллин

2

En Linux o Cygwin:

$ xlsx2csv myfile.xlsx | grep MXS1268 

Maldición. Eso fue demasiado bueno para ser verdad. Lo tengo instalado, pero recibí un error: ===> "ValueError: literal no válido para int () con base 10: '1023 1025'"
Ken Ingram

Pruebe ambos con python2 y python3
golimar

Eh ¿Qué quieres decir? Intenta ambos, ¿qué?
Ken Ingram

Tengo una lista de 10 archivos xlsx y quiero grep para una pieza de datos.
Ken Ingram

1

Puede intentar usar openpyxl, o cualquier cantidad de paquetes de Python, si conoce Python básico. Si está decidido a usar grep, envíe el Excel a texto y canalícelo a través de grep. O simplemente escriba un script pygrep para hacerlo todo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.