import pandas as pd

# CSVファイルの読み込み
input_csv = 'ori.csv'
data = pd.read_csv(input_csv)

# 抜き出したい列を選択
selected_columns = ['単元名', '単元番号', '前単元', '指導時数']  # 抜き出したい列名をリストに指定

# 選択した列のみを抽出
selected_data = data[selected_columns]

# 新しいヘッダーを指定
new_headers = ['DESCR', 'CODE', 'PREDECESSORS', 'DAYS']
selected_data.columns = new_headers

# 新しいCSVファイルに書き込み
output_csv = 'output.csv'
selected_data.to_csv(output_csv,  index=False)  # index=Falseを指定すると行番号が書き込まれません

# 新しいDataFrameを作成
new_rows = []

# CSVファイルからデータを読み込む
df = pd.read_csv(output_csv)

# 各行に対して処理を行う
for index, row in df.iterrows():
    # PREDECESSORSが存在する場合
    if pd.notna(row['PREDECESSORS']) and row['PREDECESSORS'] != '':
        predecessors = row['PREDECESSORS'].split(',')
        for predecessor in predecessors:
            new_row = row.copy()
            new_row['PREDECESSORS'] = predecessor.strip()
            new_rows.append(new_row)
    else:
        # PREDECESSORSが存在しない場合も元の行を新しいDataFrameに追加
        new_rows.append(row)

# 新しいDataFrameを作成
new_df = pd.DataFrame(new_rows)

# 新しいDataFrameをCSVファイルに保存
new_output_csv = 'output.csv'
new_df.to_csv(new_output_csv, index=False, encoding='shift-jis')  # ファイル名は適切に変更してください
