PythonでPandasを使って行を追加する方法について


**やりたいこと**  
PythonでBook1のエクセルに横方向から縦方向へ行を追加したいです。

Book1のエクセル

[code]

    created_at,title,messageId
    2022-06-16T04:30:08.328Z,test1,2335791611
    2022-06-17T04:30:08.328Z,test2,2335791612
    
[/code]

実現したい内容

[code]

    List=['1','2']
    
    #リストから１要素ずつループ
    for item in List:
     print(item)
    
    
[/code]

のリストを読み込んだ後に  
contentの列に対して１行ずつ横方向から縦方向へ１行目から行を追加したいです。  
**※毎回リストは1,2の数字ではないです。変化します。**

[code]

    created_at,title,messageId,content
    2022-06-16T04:30:08.328Z,test1,2335791611,test
    2022-06-17T04:30:08.328Z,test2,2335791612,test
    
[/code]

[code]

    List=['1455','1215']の場合
    
    created_at,title,messageId,content
    2022-06-16T04:30:08.328Z,test1,2335791611,test
    2022-06-17T04:30:08.328Z,test2,2335791612,test
    
    
[/code]

[code]

    List=['1455','1215','1217']3個の場合
    
    created_at,title,messageId,content
    2022-06-16T04:30:08.328Z,test1,2335791611,test
    2022-06-17T04:30:08.328Z,test2,2335791612,test
    ,,,test
    
[/code]

[code]

    List=['1455','1215','1217','1218']4個の場合
    
    created_at,title,messageId,content
    2022-06-16T04:30:08.328Z,test1,2335791611,test
    2022-06-17T04:30:08.328Z,test2,2335791612,test
    ,,,test
    ,,,test
    
[/code]

現在の結果  
appendやlocを使って３行目から行は追加されますが、  
実現したい結果のように１行目から追加されないです。

1行目から追加させる方法ありますでしょうか。

もし分かる方がいましたら、教えていただけますか。  
お手数ですが、ご確認をお願いします。

[code]

    created_at,title,messageId,content
    2022-06-16T04:30:08.328Z,test1,2335791611,
    2022-06-17T04:30:08.328Z,test2,2335791612,
    ,,,test
    ,,,test
    
    
[/code]

コード

[code]

    from openpyxl import load_workbook
    import pandas as pd
    
    #ファイル名
    Book1=r"test.xlsx"
    
    #Book1読み込み
    df1 = pd.read_excel(Book1)
    
    List=['1','2']
    
    #リストから１要素ずつループ
    for item in List:
     print(item)
    
     #行を追加
     #df1 = pd.DataFrame({'content': ["test"]})
    
     #df1 =  df1.append(df2)
     df1.loc[item,'content']="test"
    
     #エクセルへ保存
     df1.to_excel(Book1, sheet_name="sheet", index=False, header=True)
    
[/code]




`enumerate`を使ってリストの要素数を取得して実現したい結果になりました。  
参考ページ  
[Python, enumerateの使い方: リストの要素とインデックスを取得  
](https://note.nkmk.me/python-enumerate-start/)

#リストから１要素ずつループ

[code]

    for item in List:
     print(item)
    
[/code]

へ変更

**#リスト要素数取得**

[code]

    for idx, item in enumerate(List):
        df1.loc[idx,'content']="test"
    
    
[/code]

全体コード

[code]

    from openpyxl import load_workbook
    import pandas as pd
    
    #ファイル名
    Book1=r"C:\Users\test\Desktop\Book1.xlsx"
    
    #Book1読み込み
    df1 = pd.read_excel(Book1)
    
    List=['1213','3134']
    
    #enumerateリスト要素数取得
    for idx, item in enumerate(List):
        df1.loc[idx,'content']="test"
    
    
        #エクセルへ保存
        df1.to_excel(Book1, sheet_name="sheet", index=False, header=True)
    
[/code]




> created_at,title,messageId,content  
>  2022-06-16T04:30:08.328Z,test1,2335791611,test  
>  2022-06-17T04:30:08.328Z,test2,2335791612,test

上記DataFrameを

> created_at,title,messageId,content  
>  2022-06-16T04:30:08.328Z,test1,2335791611,test  
>  2022-06-17T04:30:08.328Z,test2,2335791612,test

にしたいのであれば、

[code]

    for i in List:
        df1.loc[int(i)-1, "content"] = "test"
    
[/code]

で良いかと思います。

* * *

質問の追記を受けての回答です。

[code]

    df1.loc[0:len(List), "content"] = "test"
    
[/code]

[code]

    for i in range(len(List)):
        df1.loc[i, "content"] = "test"
    
[/code]

