Существует ли Библиотека Открытого исходного кода Java для парсинга Файлов Excel 2007? [закрытый]

Вот то, что я придумал:

import pandas
df = pandas.read_csv('test.tsv', header=None, sep='\s+',
                     parse_dates = [['date', 'time']],
                     names=['patient_id', 'date', 'time','drug'])

to_drop = set()
for _, patient in df.groupby('patient_id'):
    meth_times = patient.loc[patient['drug'] == 'methadone']['date_time']
    morph_doses = patient.loc[patient['drug'] == 'morphine']
    for i, md in morph_doses.iterrows():
        for mt in meth_times:
            days_elapsed = (mt - md['date_time']).days
            if days_elapsed < 1:
                to_drop.add(i)
                break

df = df[~df.index.isin(to_drop)]

Как и в случае с предложенным @ulmefors ответом, он многократно повторяется по каждой строке морфина / метадона, поэтому он несколько неэффективен, но если вы не работаете с огромным набором данных он должен выполнить работу достаточно быстро, чтобы это было незначительным. (Но в отличие от другого ответа, он повторяется только несколько раз в дозах морфина / метадона каждого пациента, а не через все возможные комбинации строк)

5
задан hlovdal 19 May 2009 в 23:50
поделиться

8 ответов

Apache POI выглядит многообещающе.

9
ответ дан 18 December 2019 в 07:10
поделиться

Apache POI

3
ответ дан 18 December 2019 в 07:10
поделиться

Not POI. Andy Khan's JExcel is what you want.

1
ответ дан 18 December 2019 в 07:10
поделиться

Я сейчас сравниваю JExcelApi и Apache POI. POI поддерживает Office 2007 в бета-версии и выглядит как лучший вариант (во многих отношениях)

0
ответ дан 18 December 2019 в 07:10
поделиться

Apache POI is the pure java answer to the question. 2007 format support is in beta right now.

OpenXLS may support it already (if GPL is fine for you). The commercial version of the same product (ExtenXLS) does support it.

Although not strictly part of the question, I should point out that any rewrite of access to Excel files will always have some deficiency over the original, so Joel Spolsky's advice is a good alternative, if you need it.

5
ответ дан 18 December 2019 в 07:10
поделиться
1
ответ дан 18 December 2019 в 07:10
поделиться

Некоторое время назад я проводил оценку poi и jexcel, и jexcel был намного лучше. Они оба используют много памяти в случае, если у вас очень большие файлы данных. Под этим я подразумеваю, что я не смог понять, как создать файл Excel через поток, так что мне не пришлось загружать весь файл в память.

1
ответ дан 18 December 2019 в 07:10
поделиться

Из http://poi.apache.org/apidocs/index.html

DDF - ужасный формат рисования Этот пакет содержит классы для декодирования формата чертежей Microsoft Office, также известного как escher, в настоящее время известного в POI как «ужасный формат рисования».

HPSF - ужасный формат набора свойств

HSSF - ужасный формат электронной таблицы

Мне нравятся эти ребята. Мы попробуем использовать POI для чтения файлов Excel, я также посмотрю на решение JExcel.

2
ответ дан 18 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: