csv批量转shp的pycharm代码
时间: 2024-10-24 17:07:23 浏览: 60
在PyCharm中,你可以使用geopandas库来实现CSV文件批量转换成Shapefile (SHP)。这里是一个简单的示例,假设你的CSV文件有地理坐标列(如longitude和latitude)。首先,你需要安装必要的库,比如`geopandas`, `fiona`, 和 `pyproj`。
```python
# 导入所需库
import geopandas as gpd
from shapely.geometry import Point
import pandas as pd
def csv_to_shp(csv_file, output_shapefile):
# 读取CSV文件
df = pd.read_csv(csv_file)
# 创建一个GeoDataFrame,需要一个几何列
geometries = [Point(xy) for xy in zip(df.longitude, df.latitude)]
crs = {'init': 'epsg:4326'} # 确定投影,这里是WGS84
gdf = gpd.GeoDataFrame(df, geometry=geometries, crs=crs)
# 将GeoDataFrame保存为Shapefile
gdf.to_file(output_shapefile, driver="ESRI Shapefile")
# 使用函数批量处理
csv_files = ['file1.csv', 'file2.csv'] # 包含多个CSV文件路径
output_folder = 'output_shapefiles/' # 输出目录
for csv in csv_files:
output_name = output_folder + csv.split('.')[0] + '.shp'
csv_to_shp(csv, output_name)
```
这段代码会读取每个指定的CSV文件,并将其经纬度坐标转换为点几何类型,然后将这些点放入一个GeoDataFrame中,最后将这个GeoDataFrame保存为Shapefile。
阅读全文