documents

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

excel2bitwarden.py (986B)


      1 import pandas as pd
      2 
      3 
      4 def convert_to_bitwarden_csv(input_file, output_file):
      5     if input_file.endswith(".xlsx"):
      6         df = pd.read_excel(input_file)
      7     elif input_file.endswith(".md"):
      8         df = pd.read_table(input_file, sep="|").iloc[1:]
      9         df = df.dropna(axis=1, how="all").map(
     10             lambda x: x.strip() if isinstance(x, str) else x
     11         )
     12         df.columns = [col.strip() for col in df.columns]
     13 
     14     bw_df = pd.DataFrame()
     15     bw_df["folder"] = None
     16     bw_df["favorite"] = 0
     17     bw_df["type"] = "login"
     18     bw_df["name"] = df["サービス名"]
     19     bw_df["notes"] = None
     20     bw_df["fields"] = None
     21     bw_df["login_uri"] = None
     22     bw_df["login_username"] = df["アカウント名"]
     23     bw_df["login_password"] = df["パスワード"]
     24     bw_df["login_totp"] = None
     25 
     26     bw_df.to_csv(output_file, index=False, encoding="utf-8")
     27 
     28 
     29 if __name__ == "__main__":
     30     convert_to_bitwarden_csv(r"password.xlsx", "bitwarden_import.csv")