Skip to content

Instantly share code, notes, and snippets.

@fernandoacorreia
Created February 20, 2020 19:31
Show Gist options
  • Save fernandoacorreia/613991072d50daed0284553afc3dce36 to your computer and use it in GitHub Desktop.
Save fernandoacorreia/613991072d50daed0284553afc3dce36 to your computer and use it in GitHub Desktop.
Converts KeePass CSV file to 1Password format
#!/usr/bin/env python
# Converts KeePass CSV file to 1Password format
import pandas as pd
import numpy as np
source_file = 'keepass.csv'
target_file = 'converted.csv'
# Read source data
data_all = pd.read_csv(source_file)
# Remove items in recycle bin
data_current = data_all[data_all['Group'].str.contains('Recycle Bin')==False]
del data_current['Group']
# Convert NaN to empty string
cleaned = data_current.replace(np.nan, '', regex=True)
# Target format:
# Title,Website,Username,Password,Notes,Member Number,Recovery Codes
renamed = cleaned.rename(columns={"URL": "Website"})
renamed['Member Number'] = ''
renamed['Recovery Codes'] = ''
reordered = renamed[['Title', 'Website', 'Username', 'Password', 'Notes', 'Member Number', 'Recovery Codes']]
# Write to target file
reordered.to_csv(target_file, index=False)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment