Hi! This is a very abstract question and solution highly depends on what engine do you use. Most of game engines have some API to load sheets into sprites. Each frame of different animations has the same center point. When you need another animation you can just load another sheet file (and unload old one).
Some very long time ago I had some doubts about this, but after many tests I found, that most of game engines are able to load hundreds of frames from disk memory without any notable game freezes, and thousands with only slightly framerate slowdown from 60fps to 40. This means that you can load new spritesheet from disk memory for another animation just on the fly. But of course is better to load a sheet instead of thousands of separated frames from disk. I'm posting separated frames because they are non-optimized full-color and maybe somebody will want to make some another kind of sheets format.
The same approach was in games, like Diablo, Baldurs Gate, Age of Empires, Stronghold and others. And world level landscape, trees, buildings, water and other tiles were preloaded on the fly when main character was near these game places.
The only exceptions are some visual-block-programming game construction kits, where you cannot dynamically load assets (or this is very complicated)