¿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.

munish
fuente
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
Ярослав Рахматуллин
fuente
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 
golimar
fuente
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.

blackappy
fuente