I actually worked on punched card equipment. A punched card has 80 columns. If each column is used, that's 80 bytes per card. A kilobyte is 1024. A Megabyte is 1024 x 1024 which equals 1,048,576. Take 1,048,576 and multiply by 4.5 to yield the 4.5 megabyte number of 4,718,592. Now divide by the 80 columns and you end up with 589,824 cards (over half a million cards). That stack appears to be a bit short to my aging eyes.
Were beyond even that --I have a credit card sized micro SD card holder.
It holds 8 cards and each of mine is 512GB.. and if not for the (current) price, I'd happily swap all 8 for 1TB cards... Again, the holder is literally credit card sized..
If you have the motivation, the next real hurdle is 500TB in your pocket