We have approximate locations for just about all battles in ancient history, including the Punic Wars. But: excavation of battlefield sites is largely guesswork, since topography has changed since antiquity (for instance, rivers have wandered), and not at all a productive exercise. In other words: there is usually not much we stand to learn by excavating a battle site. If the soil is just right, and the site relatively undisturbed, some metal implements might survive. These would consist of sling-stones, maybe a few scattered blades, if we are lucky, and other scattered detritus. Such artifacts do not generally lend much new knowledge to us.
It is usually a different scenario: the soil is acidic and metal objects, if there were any left at all, have long since disintegrated. The same for human remains. There would not be a lot of equipment left in the first place: the victors would scour the field for anything, and what they missed or left behind would invariably be scavenged by the locals, or turned up by farmers' plows in the years following. If you are imagining a place out there where thousands of Roman bodies are lying with swords and shields and helmets intact, that's just not how it works out.
Now, there are some interesting archaeological finds related to the Punic Wars. First, the University of JaƩn's Research Institute for Iberian Archaeology has been investigating the site of the battle of Baecula (in Spain, 208 BCE) for quite some time, and have identified the camps, have done extensive field survey, etc. It's pretty cool. You can read an abstract of one of the publications here. Additionally, we have found some pretty interesting finds in the sea, including ships' rams from the 1st Punic war and some helmets off the coast of Sicily. The sea water preserves metallic objects much better than acidic soil. You can read about that here.