0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

指定された文字列からHTMLテーブルを生成する

Last updated at Posted at 2024-02-25

Python 2.7を使用して、指定された文字列からHTMLテーブルを生成するスクリプトを作成します。このスクリプトは、入力されたブランチとバージョン情報を解析し、各ブランチについての詳細情報をHTMLテーブル形式で出力します。

# 入力文字列
input_string = "ブランチ1/V00.01/a:100,b:100,c:100 ブランチ2/V00.02/a:200,b:200,c:200"

# 入力文字列を処理してデータを抽出
branches = input_string.split()
branch_info = {}

for branch in branches:
    parts = branch.split('/', 2)  # 最初の2つのスラッシュで分割
    name = parts[0]
    version = parts[1]
    data = parts[2]
    data_items = data.split(',')
    data_dict = {}
    for item in data_items:
        key, value = item.split(':')
        data_dict[key] = value
    branch_info[name] = {'version': version, 'data': data_dict}

# HTMLテーブルの作成を開始
html_output = '<table border="1">\n'
html_output += '  <tr>\n    <th colspan="2">ブランチ</th>\n'
for name in branch_info:
    html_output += '    <td>{}</td>\n'.format(name)
html_output += '  </tr>\n  <tr>\n    <th colspan="2">バージョン</th>\n'
for info in branch_info.values():
    html_output += '    <td>{}</td>\n'.format(info['version'])
html_output += '  </tr>\n'

# データ行の処理
data_keys = list(branch_info.values())[0]['data'].keys()  # Python 2.7では直接リストになる
for key in data_keys:
    html_output += '  <tr>\n'
    if key == list(data_keys)[0]:  # 最初のキーであればrowspanを設定
        html_output += '    <th rowspan="{}">機種</th>\n'.format(len(data_keys))
    html_output += '    <th>{}</th>\n'.format(key)
    for info in branch_info.values():
        html_output += '    <td>{}</td>\n'.format(info['data'][key])
    html_output += '  </tr>\n'
html_output += '</table>'

print(html_output)

このスクリプトは、指定された形式の文字列を受け取り、解析してHTMLテーブル形式で出力します。スクリプトはPython 2.7の文法に基づいていますが、print関数の使用や辞書のイテレーションなど、Python 3との互換性に注意する必要があります。Python 2.7では、辞書のvalues()メソッドがリストを返すため、直接インデックスを使用してアクセスすることが可能ですが、Python 3ではこの部分をlist(branch_info.values())[0]['data'].keys()のように変更する必要があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?