既存のワークブックを開くことはできますが、そのワークブック内に既存のワークシートを開く方法はありません。これを行う方法はありますか?xlsxwriter:ブックに既存のワークシートを開く方法はありますか?
答えて
xlsxwriter
で既存のxlsxファイルに追加することはできません。
openpyxlというモジュールがあり、既存のExcelファイルを読み書きできるようになっていますが、その方法にはExcelファイルからの読み込み、すべての情報の保存(データベースまたは配列)、 workbook.close()
に電話すると書き換えられ、すべての情報がxlsxファイルに書き込まれます。
同様に、独自の方法を使用してxlsxドキュメントに「追加」することができます。私は最近、xlsxファイルに追加する必要がありました。なぜなら、GPSデータをメインのワークシートに入れて、さまざまなテストをしてから、テストが始まるたびに新しいシートを追加しなければならなかったからです。私はopenpyxlせずにこの問題を回避することができる唯一の方法は... xlrdでExcelファイルを読み込んで、行と列を介して実行することでした
すなわちcells = []
for row in range(sheet.nrows):
cells.append([])
for col in range(sheet.ncols):
cells[row].append(workbook.cell(row, col).value)
あなたはしかし、配列を必要としません。たとえば、これは完全に正常に動作します:
import xlrd
import xlsxwriter
from os.path import expanduser
home = expanduser("~")
# this writes test data to an excel file
wb = xlsxwriter.Workbook("{}/Desktop/test.xlsx".format(home))
sheet1 = wb.add_worksheet()
for row in range(10):
for col in range(20):
sheet1.write(row, col, "test ({}, {})".format(row, col))
wb.close()
# open the file for reading
wbRD = xlrd.open_workbook("{}/Desktop/test.xlsx".format(home))
sheets = wbRD.sheets()
# open the same file for writing (just don't write yet)
wb = xlsxwriter.Workbook("{}/Desktop/test.xlsx".format(home))
# run through the sheets and store sheets in workbook
# this still doesn't write to the file yet
for sheet in sheets: # write data from old file
newSheet = wb.add_worksheet(sheet.name)
for row in range(sheet.nrows):
for col in range(sheet.ncols):
newSheet.write(row, col, sheet.cell(row, col).value)
for row in range(10, 20): # write NEW data
for col in range(20):
newSheet.write(row, col, "test ({}, {})".format(row, col))
wb.close() # THIS writes
はしかし、私は、データを操作したと何度も何度も入力を受けていたので、データを読み取り、2次元配列に格納するために簡単だったことが判明し、テストが終わるまでExcelファイルに書きたいとは思っていませんでした.xlsxwriterと同じように簡単にできるのは、.close()
に電話するまではおそらく何とかしているからです。
を参照してください、私は本当にwouldn 「非常に複雑な構造」とは言いません。この構造は、各シートがセルの内容を含むXMLファイルであるシートのzipfileアーカイブです。 XlsxWriterは、** writer **の意向で、アクセス、閲覧、編集が非常に簡単です。 **読者**ではありません。 –
@AlexanderHuszaghありがとう! – dylnmc
驚くばかりです、編集後の優れた答えです。 +1。 –
- 1. iBooksで特定のブックを開く方法はありますか?
- 2. ブックの最後のシートの後にワークシートを追加する方法はありますか?
- 3. VBComponentは、ブックまたはワークシート
- 4. 既知のinodeでファイルを開く方法はありますか?
- 5. Excelワークシートをコピーする方法c#winformsでExcelファイルを開かずに別のExcelブックにコピーしますか?
- 6. VBAを使用してExcelブックを開くときに、開いているブックをアクティブなウィンドウにする方法はありますか?
- 7. JFace ElementTreeSelectionDialogを開いて開く方法はありますか?
- 8. 既存のExcelワークシートにデータをエクスポート
- 9. 既存のタイプにインターフェイスを実装する方法はありますか?
- 10. EDFファイルをRにインポートする既存の方法はありますか?
- 11. ブック内のワークシートを反復処理する方法、openpyxl
- 12. Googleシートのブックとしてワークシートを保存する
- 13. ブックを開くときにsapbex.xlaをロードする方法
- 14. 既存のWebサイトフォルダへのシンボリックリンクをすばやく簡単に作成する方法はありますか?
- 15. Azureテーブルの既存のパーティションを判別する方法はありますか?
- 16. ブロブストアの既存のBlobを上書きする方法はありますか
- 17. Ruby on Railsは既存のデータベーススキーマをインポートする方法がありますか?
- 18. TransactionScopeを既存の接続で使用する方法はありますか?
- 19. 既存のブックのシートにデータを追加し、新しいブックを作成しない方法
- 20. Amazon S3でtouch()ファイルを開く方法はありますか?
- 21. タスクバーをプログラムで開く方法はありますか?
- 22. アドオンをフルスクリーンでプログラムで開く方法はありますか?
- 23. IronPythonで既存のウィンドウを開く方法
- 24. kindle電子ブックをプログラム的にチェックする方法はありますか?
- 25. 新しいシートをxlsxwriterのブックに追加
- 26. Asposeセルのセルからワークシートを取得する方法はありますか?
- 27. あるワークシートのデータを別のワークシートにコピーする方法
- 28. 開く既存のプロジェクトは、問題
- 29. 保存したブックを開くと、現在のブックに例外がスローされます。
- 30. 既存のノードのグループから重み付きグラフを導く - スマートな方法がありますか?
[xlsxwriter](https://pypi.python.org/pypi/XlsxWriter)ライブラリは、Excelファイルを書き込むためのライブラリです。読み込めません。 – alecxe
この http://stackoverflow.com/questions/18849535/how-to-write-update-data-into-cells-of-existing-xlsx-workbook-using-xlsxwriter-i – shellbye