python如何将csv转换成shp
时间: 2024-05-05 21:22:22 浏览: 9
要将CSV文件转换为SHP文件,需要使用Python的`pyshp`库和`csv`库。
首先,使用`csv`库读取CSV文件中的数据,并将其存储为一个列表。然后,使用`pyshp`库创建一个新的SHP文件,定义其形状类型和字段属性。接着,将读取的CSV数据逐行写入SHP文件中。最后,关闭SHP文件。
下面是一个示例代码,可以将包含经纬度信息的CSV文件转换为点状SHP文件:
```python
import csv
import shapefile
# 读取CSV文件
data = []
with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
data.append(row)
# 创建SHP文件
shp = shapefile.Writer(shapefile.POINT)
shp.autoBalance = 1
shp.field('ID', 'N', 10, 0)
# 写入数据
for i in range(1, len(data)):
lon = float(data[i][0])
lat = float(data[i][1])
shp.point(lon, lat)
shp.record(i)
# 保存SHP文件
shp.save('data.shp')
```
在这个示例中,假设CSV文件的第一列为经度,第二列为纬度,第一行为标题行。SHP文件中的每个点都有一个自动生成的ID号。