Render tree structure diagram using border on Excel.
Project description
pyxltree
エクセルのワークシートの境界線を使って、ツリー構造図を描画します
例1:ディレクトリー・パス
Output:
👆 わたしのWindows PCのCドライブの例です
Input:
no,node0,node1,node2,node3,node4,node5,node6,node7,node8
1,C,Users,Muzudho,OneDrive,Documents,Tools,GitHub,,
2,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,Engine,Lesserkai.exe
3,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,Engine,Lesserkai_ja.txt
4,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,Engine,public.bin
5,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,ja,Shogidokoro.resources.dll
6,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,Engine.xml,
7,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,GameResult.xml,
8,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,Shogidokoro.exe,
9,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,Shogidokoro.xml,
10,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro,お読みください.txt,
11,C,Users,Muzudho,OneDrive,Documents,Tools,Shogidokoro.zip,,
12,C,Users,Muzudho,OneDrive,Documents,Tools,Visual Studio 2022,,
13,C,Users,Muzudho,OneDrive,Documents,Tools,Default.rdp,,
👆 さきほどの Output の図は、上図の CSV ファイルを読込ませると描いてくれます。
node
列は 0 から始まる連番で増やすことができます。常識的な長さにしてください
Script:
from xltree import WorkbookControl
def execute():
# 出力先ワークブック指定
wbc = WorkbookControl(target='./tests/temp/tree_drive.xlsx', mode='w')
# ワークシート描画
wbc.render_worksheet(target='Drive', based_on='./examples/data/tree_drive.csv')
# 何かワークシートを1つ作成したあとで、最初から入っている 'Sheet' を削除
wbc.remove_worksheet(target='Sheet')
# 保存
wbc.save_workbook()
👆 上記はスクリプトの記述例です
例2:しりとり
Output:
👆 しりとりというゲームの記録です。図(Diagram)の辺(Edge)にテキストを書くのはオプションです
Input:
no,node0,edge1,node1,edge2,node2,edge3,node3,edge4,node4,edge5,node5,edge6,node6,edge7,node7,edge8,node8,edge9,node9
1,Word Chain Game,Ea,Eagle,E,Euler,R,Rex,$,ended with x,,,,,,,,,,
2,Word Chain Game,Eb,Ebony,Y,Yellow,W,Wood,D,Door,R,Rocket,T,Tax,$,ended with x,,,,
3,Word Chain Game,Ec,Eclair,R,Road,D,Dungeon,N,News,S,Sex,$,ended with x,,,,,,
4,Word Chain Game,Ed,Edelweiss,S,Sox,$,ended with x,,,,,,,,,,,,
7,Word Chain Game,En,English,Ha,Hand,Dog,Dog,G,Gorilla,A,Arm,M,Moon,N,Nice,$,adjective,,
6,Word Chain Game,En,English,Ha,Hand,Doo,Door,R,Ring,G,Grape,E,Egg,G,Golf,F,Fox,$,ended with x
5,Word Chain Game,En,English,Ha,Hand,Dr,Dragon,N,Nob,B,Box,$,ended with x,,,,,,
8,Word Chain Game,En,English,He,Hex,$,ended with x,,,,,,,,,,,,
9,Word Chain Game,En,English,Ho,Hook,Kit,Kitchen,N,Nickel,L,Lemon,N,Nickel,$,time up,,,,
10,Word Chain Game,En,English,Ho,Hook,Kin,King,G,Goal,L,Lemon,N,Nickel,L,Lemon,$,repetition,,
👆 edge
列は 1 から始まる連番で増やすことができます。 node
列より深い番号を付けても無視されます
Script:
from xltree import WorkbookControl
def execute():
# 出力先ワークブック指定
wbc = WorkbookControl(target='./examples/temp/tree_word_chain_game.xlsx', mode='w')
# ワークシート描画
wbc.render_worksheet(target='Drive', based_on='./examples/data/tree_word_chain_game.csv')
# 何かワークシートを1つ作成したあとで、最初から入っている 'Sheet' を削除
wbc.remove_worksheet(target='Sheet')
# 保存
wbc.save_workbook()
その他
ソースコードは GitHub で公開しています。ここで紹介されていない機能は仕様変更されやすいですが存在します。 GitHub のリポジトリーを確認してください。
オープンなライセンスで公開しています。変更を加えたフォークも歓迎します。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xltree-0.0.5.tar.gz
(544.1 kB
view details)
Built Distribution
File details
Details for the file xltree-0.0.5.tar.gz
.
File metadata
- Download URL: xltree-0.0.5.tar.gz
- Upload date:
- Size: 544.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebe76c2879dcac5162c919db28de64febe40380e7cce47360c74da51549937c1 |
|
MD5 | afbcea56900dac1bb5ac83e5c4eb70d5 |
|
BLAKE2b-256 | 19e28dafd1653e4f2ddea9affad11a5b17729d690386bb22fcc3f639e032f976 |
File details
Details for the file xltree-0.0.5-py2.py3-none-any.whl
.
File metadata
- Download URL: xltree-0.0.5-py2.py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed8d7bb62fda5bc77a1ffd2b68b64520a1d7762df2e361f78bb9f12ca1c2c8bb |
|
MD5 | c084e185379a8539d75808c78ca16ad5 |
|
BLAKE2b-256 | 06929b50afc4e2e84ee4175bc138167290ff4ccab200ab0f7750b3b08e7e2b22 |