既存のワークブックを開くことはできますが、そのワークブック内に既存のワークシートを開く方法はありません。これを行う方法はありますか?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. 既存の.xlsxブックをチャート付きで開くには
- 2. XlsxWriterブックを複数回保存する
- 3. iBooksで特定のブックを開く方法はありますか?
- 4. ワークシートをvba内の既存のブックにコピーしようとしています
- 5. ブックの最後のシートの後にワークシートを追加する方法はありますか?
- 6. 既知のinodeでファイルを開く方法はありますか?
- 7. 開いているブックから既存の開いていないブックにコピーした貼り付けシート
- 8. VBAでワークシートを1つのブックから他のブックにコピーする方法
- 9. VBComponentは、ブックまたはワークシート
- 10. VBAを使用してExcelブックを開くときに、開いているブックをアクティブなウィンドウにする方法はありますか?
- 11. Excelワークシートをコピーする方法c#winformsでExcelファイルを開かずに別のExcelブックにコピーしますか?
- 12. JFace ElementTreeSelectionDialogを開いて開く方法はありますか?
- 13. ドッカーの画像を保存および開く方法はありますか?
- 14. C#のブックから空のワークシートを削除する方法
- 15. Java - すでに存在しないテキストファイルを開く方法はありますか?存在する場合は追加する方法はありますか?
- 16. Netbeans、そこに既存のファイルのスペースをタブを展開する方法はありますか?
- 17. ブック1を開くときに別のブックを開く
- 18. EDFファイルをRにインポートする既存の方法はありますか?
- 19. アソシエーションに既存のレコードをフェッチする方法はありますか?
- 20. 既存のタイプにインターフェイスを実装する方法はありますか?
- 21. 既存のブックをPythonで既存のワークブックに追加
- 22. ワークシートを追加する方法\ワークシートを共有Excelファイルに追加する方法はありますか?
- 23. xcodeで既存のローカルポッドを開く方法は?
- 24. 既存のワークブックを2つのワークシートで開き、更新する
- 25. ブックを開く
- 26. 既存のデータベースクラッシュを開く
- 27. アプリストアの更新タブを開く方法はありますか?
- 28. 日数ではなくサイズ別に既存のインデックスを制限する方法はありますか?
- 29. Openpyxl:既存のブックから縮小
- 30. 既存のWebサイトフォルダへのシンボリックリンクをすばやく簡単に作成する方法はありますか?
[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