You could always just use the linux version of Electrum and some scripting knowledge to create wallets programmatically...
This will create a wallet file at PATH/TO/WALLET/WALLETNAME restored from XPRV... for instance:
./electrum -w ~/wallet_1 restore xprv9xyQEZakyfuyCRGF1moJNatpGDAgMS4hgctAgWU4RNw664qCz6agreZParHx6G24td48SZKnmK8ppSVMvmyBuTy9L4poDhwgm9aR9GukgQW
Will generate a wallet file called "wallet_1" in the users home directory, restored using "xprv9xyQEZakyfuyCRGF1moJNatpGDAgMS4hgctAgWU4RNw664qCz6agreZParHx6G24td48SZKnmK8
ppSVMvmyBuTy9L4poDhwgm9aR9GukgQW" which generates a wallet with addresses:
[
"192CfrTf5cxGSZX6AjLv6jikU4HVJRQ8bG",
"1N4sb4VR823iJB9vMThfu5puz1WtYUxdtD",
"1684T8iTTFdJz39LgzZLZ7428FaJzKmHp4",
"16TTQLQDkfV2iR5FpErvfvNBwkevY7hRS4",
"1HgXFVdr7XZAvWj74aaKmxDWe5EZziPp1",
"1DH4j4oSMPdNSw1WchbEVUXiqCZFGUjQqc",
"194ER44TQxokxoTU62pFdjfehrJ6fj1arG",
"1KGZ18FA3pSEH6ujou9tPrNZsyBALePg43",
"1Ar9dmRu5oaE8CDJVGVwTikwph1CJaGypF",
"14j7xd7vYnKDDit3wyBdESWbKTapAeoLSZ",
"1MZFw8r5Ve9pyddF5XzEBZHGxmCDs4E4cb",
"1DeRxFnivmqM3jyLdRhj8T8UWeWw2aKbhA",
"1Mczuhijuz8GZRU2HZbpv6p2nLYAA78aN3",
"1M1j5ZPivzqZhckNMsotomTD7QDAdsiWw2",
"12r2cBZLix2ekuuGEa9f2kCv3MsHWihvN7",
"18iprVoUt3LK48k7qDiwSNpbQLo9SRtnsY",
"1HAtDeCBcsW3oEThz4oq8mNRBKgZmAQGpp",
"1FbdkfdsTg5s1GX5GonSCChS68g9xeqDPw",
"1KQ6gUcb8PhU7xxKgpGBniyWVufDWmg2kP",
"1FwAoDDUo72rcWgkAZVxQ6GghUKfWP76f8",
"18eT5RhvJYHsPaxJUKSS5BHkhdjGDRi6UU",
"1PXWr8nvyG4kcHWanW4uQaySvphw54JHn6",
"1LvnJjeumRf412cSycWp7MqYtbsvWCUBAC",
"14jWqazewbjCcwGF6FwaqY3KkbKRgcSpaq",
"1HEkbQBcEdpqQucsqpyjd2YJikBSr3KcwT",
"1P5PBregiPdCANnDjE7cHgYweMWQWb3NAB"
]
You should be able to create a text file with one "xprv" per line, and pass those xprv's to the Electrum "restore" command using a shell script. This would create 300 wallets from your 300 master private keys...