Linuxシェルを使用してExcelファイル(xlsx)を編集する方法


11

Linuxシェルを使用してXLSXファイルを編集する方法(ツール)はありますか?必要なのは、最初のワークシートから最後の3つの空ではない行を削除する方法です。

XLSXは単なるzipファイルであり、さまざまなXMLファイルで圧縮されており、個別に編集できることを知っています。ただし、可能であれば、XMLファイルを自分で分析および変更することは避けたいと思います。

回答:


14

私のアイデアは、次のようなPythonスクリプトです。

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]-空ではない最後の3行を削除しますか?xlsxのxmlファイルを見ると、Excelシートには空の行がたくさんあるためです。
ボジャンフルンカス

2
最後の3行を削除します。最後の空でない行の後の空の行は無視されます。ここでは便宜上:pandas.pydata.org/pandas-docs/version/0.22/generated/...はパンダデータフレームの基準となる
DDS

-3

Libreoffice(おそらくOpenOfficeも)は、Excelで作成された.xlsxファイルを読み取ることができます。この方法で処理するファイルがあまりない場合は、Libreofficeで手動で処理するのが最も簡単な方法です。多数のファイルがあり、実際に自動化されたソリューションが必要な場合、Libreofficeはスクリプト可能です。APIドキュメントを参照する、チュートリアルの紹介から始めてください


2
ヘッドレスサーバーで何かを自動化するため、これは私には機能しません。
ボジャンフルンカス

2
@パイプ。LibreOfficeをヘッドレスモードで実行できますか?
TRiG

3
@TRiG確かにそれであり、それを行う方法を詳しく説明した答えは素晴らしい答えでしょう。これはその答えではありません。
パイプ

1
LibreOfficeを「1回限りのGUIツール」と呼ぶ@pipeは非常に極端です。それは基本的にそれが本当に何であるかの反対です。
バーベキュー

1
LibreOfficeをヘッドレスモードで開くのは、--headlessオプションを使用するのと同じくらい簡単です。
ジョニー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.