Take the 2-minute tour ×

I have about 300,000 CSV files which I want to convert to shapefiles, but ArcGIS and QGIS can only convert one CSV at a time.

Are there any ways to batch convert my CSVfiles?

x y z1 z2 z3 z4
1 2 3  4  5  6

My csv files just have a few columns like above

Can any one help me?

share|improve this question

2 Answers 2

up vote 3 down vote accepted

If you really have ~300,000 csv files, I honestly hope that you don't want that many resultant shapefiles... For your sake, I hope that was a typo.

It is relatively simple to batch any tool in ArcGIS--you just right click on it and select 'batch'. I'd look into using Make XY Event Layer. As the layer is temporary, you'll want to save it. From the help:

The output point feature layer created by this tool is temporary and will not persist after the session ends. You can export this event layer to a feature class on disk using the Copy Features, Feature to Point, or Feature Class to Feature Class tool.

If you want just 1 shapefile, you need to concatenate the csv files. Something like this post should get you started. You'll need to edit it some to not write the headers from each file.

share|improve this answer
thanks for your answer!but it's still need to click many times in batch menu ~ –  blueman010112 Aug 11 '13 at 17:28
@blueman010112, you need to learn how to script via arcpy so that you can input a folder and the tool will iterate over all the shapefiles in the folder. –  Paul Aug 11 '13 at 17:51

Can you program in Python? Get the osgeo bindings for ogr and gdal, then adapt something like this:


Can you program in R? Get the sp and rgdal packages and then write a script to loop over them.

Can you program in anything? No? Suggest you learn!

share|improve this answer
thanks for your anwser I am learning python now ~thank for info! –  blueman010112 Aug 11 '13 at 17:29

Your Answer


