Did you try to create users using the UserManager API? There is an example on Adobe help site. I am just copy-pasting the snippet here, please go throuhg the complete example to understand better.
1. Create a group
Group group=userManager.createGroup(groupName,new SimplePrincipal(groupName),"/home/groups/test");
Value value=adminSession.getValueFactory().createValue("Sample Group", PropertyType.STRING);
group.setProperty("./profile/givenName", value);
value=adminSession.getValueFactory().createValue("Test Group", PropertyType.STRING);
group.setProperty("./profile/aboutMe", value);
value=adminSession.getValueFactory().createValue("abc@gmail.com", PropertyType.STRING);
group.setProperty("./profile/email", value);
2. Create the user(s)
You can read the csv file, iterate the rows and create the users
User user=userManager.createUser(userName, password,new SimplePrincipal(userName),"/home/users/test");
Value value=adminSession.getValueFactory().createValue("Issac", PropertyType.STRING);
user.setProperty("./profile/familyName", value);
value=adminSession.getValueFactory().createValue("Albin", PropertyType.STRING);
user.setProperty("./profile/givenName", value);
value=adminSession.getValueFactory().createValue("Test User", PropertyType.STRING);
user.setProperty("./profile/aboutMe", value);
value=adminSession.getValueFactory().createValue("albin@gmail.com", PropertyType.STRING);
user.setProperty("./profile/email", value);
3. Add the user to the group
Group group = (Group)(userManager.getAuthorizable(groupName));
group.addMember(userManager.getAuthorizable(userName));