Storing user data in one big database or in a different file for each user - which is more efficient?
I don't think efficiency should be part of your calculus.
I don't like either of your proposed designs.
One table?  That's not normalized.  I don't know what data you're talking about, but you should know about normalization.
Multiple copies?  That's not scalable.  Every time you add a user you add a table?  Sounds like the perfect way to ensure that your user population will be small.
Is all the data JSON?  Document based?  Maybe you should consider a NoSQL document based solution like MongoDB.
I'm trying to store user data for a website in Python I'm making. Which is more efficient: 
-Storing all the user data in one huge table
-Storing all the user data in several tables, one per user, in one database. 
-Storing each user's data in a XML or JSON file, one file per user. Each file has a unique name based on the user id. 
Also, which is safer? I'm biased towards storing user data in JSON files because that is something I already know how to do. 
Any advice? I'd post some code I already have, but this is more theoretical than code-based.