Як редагувати файл Excel (xlsx) за допомогою оболонки Linux


11

Чи існує спосіб (інструмент) для редагування файлів XLSX за допомогою оболонки Linux? Що мені потрібно - це спосіб видалити останні три не порожні рядки з першого робочого аркуша.

Я знаю, що XLSX - це лише поштовий файл, упакований з різними XML-файлами, які я міг окремо редагувати. Однак я хотів би уникати аналізу та зміни самих XML-файлів, якщо це можливо.

Відповіді:


14

Моя ідея - це сценарій пітона таким чином:

import pandas as pd
filename=argv[1]
df = pd.read_excel(filename,sheet_name="Sheet1").ix[:-3] ## read the xlsx without last 3 rows to a dataframe
df.write_excel("output_sheet.xlsx") #write dataframe to xlsx file

щоб перевірити "порожнечу" ви можете використовувати df.notna()


Звучить багатообіцяюче - спробую. Щоб бути певним - df.ix [: - 3] - видалить останні три непорожні рядки? Оскільки на аркуші excel багато порожніх рядків, якщо ви подивитеся на файл xml у xlsx.
Боян Хрнкас

2
він видаляє останні 3 ряди. порожні рядки після останнього непорожнього рядка ігноруються. Для зручності тут: pandas.pydata.org/pandas-docs/version/0.22/generated/… - це посилання на рамку даних панд
DDS

-3

Libreoffice (і, можливо, також OpenOffice) може читати .xlsx файли, створені Excel. Якщо у вас не так багато файлів для обробки таким способом, це зробити вручну в Libreoffice - це найпростіший спосіб. Якщо у вас багато файлів, і вам справді потрібне автоматизоване рішення, Libreoffice - це сценарій. Перегляньте документи API або почніть з введення підручника .


2
Це не працює для мене, тому що я хочу автоматизувати щось на безголовому сервері.
Боян Хрнкас

2
@pipe. Можна запустити LibreOffice в режимі без голови, чи не так?
TRiG

3
@TRiG Звичайно, це чудова відповідь, і детально відповісти, як це зробити. Це не та відповідь.
труба

1
@pipe називає LibreOffice "одноразовим інструментом gui" досить екстремально. Це в основному протилежне тому, що воно є насправді.
барбекю

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