Як я можу зібрати дані в Excel?


11

У мене є файл Excel, який містить дані у двох стовпцях:

Operator ID           MXS1268
Name                  ramesh    

Мені потрібно перевірити наявність дублікатів у декількох файлах Excel, які мають однакове значення для ідентифікатора оператора, та відобразити або помістити його в якийсь файл журналу.


Залежно від того, що ви хочете зробити, існують різні способи їх виконання в Excel. Якщо ви хочете здійснити пошук, це можна зробити за допомогою Ctrl + F, відкривши діалогове вікно «Знайти». Якщо є кілька критеріїв, можливо, вам допоможуть фільтри. Для видалення дублікатів існує кілька способів. Вам доведеться бути трохи більш чіткими в тому, що вам потрібно. Швидше за все, якщо ви будете шукати цей сайт, ви знайдете те, що вам потрібно, оскільки ваші вимоги здаються досить простими.
Амер

1
Чи всі файли Excel у тому ж двоколонковому форматі? Файли .xlsxчи .csv? Чи є у файлів кілька аркушів? Додавання додаткової інформації до вашого питання допоможе отримати відповіді.
Excellll

перетворити в текст і grep.
Ярослав Рахматуллін

Відповіді:


5

Все ще немає гідних відповідей? Оскільки ви сказали grep, я припускаю, що ви знаєте, як використовувати оболонку;

$ 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

І звіт:

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

Ви можете отримати копію у вхідному файлі за допомогою wget http://sprunge.us/MbhE -q -O- | base64.exe -d > ram.xls.
Ярослав Рахматуллін

Я хочу спробувати ваше рішення, але ваше посилання "Заборонено"
Ken Ingram

просто подивіться на файл, перш ніж запустити його, не будьте дурним.
Ярослав Рахматуллін

Слухай. Не будьте особистими. Я отримую помилку 403 за цим посиланням. "2019-02-08 09:38:13 ПОМИЛКА 403: Заборонено".
Ken Ingram

1
добре. я думав, ти маєш на увазі щось інше. просто google пакет xls2txt
Ярослав Рахматуллін

2

На Linux або Cygwin:

$ xlsx2csv myfile.xlsx | grep MXS1268 

Блін. Це було занадто добре, щоб бути правдою. У мене це встановлено, але помилка - це все, що я повернув: ===> "ValueError: недійсний літерал для int () з базою 10: '1023 1025'"
Ken Ingram

Спробуйте як з python2, так і python3
golimar

Е-е. Що ви маєте на увазі? Спробуйте і те, і що?
Кен Інграм

У мене є список 10 xlsx файлів, і я хочу привітатися за один фрагмент даних.
Ken Ingram

1

Ви можете спробувати використовувати openpyxl - або будь-яку кількість пакетів Python-- якщо ви знаєте базовий Python. Якщо ви готові використовувати grep, виведіть програму excel у текст та передайте її через grep. Або просто написати сценарій pygrep, щоб це все зробити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.