вывод функции печати в csv в python - PullRequest
0 голосов
/ 28 июня 2018

Я новичок в Python, и мне нужно экспортировать вывод своей функции в формате csv / xlsx. Пожалуйста, смотрите мой код. Мне нужно напечатать вывод функции pixel2coord в csv. Спасибо

from osgeo import gdal
# Open raster file
ds = gdal.Open('C:\\Users\\ADMIN\\Desktop\\datanew\\ndvi_alig_landsat_clipped.img')
# GDAL affine transform parameters, According to gdal documentation xoff/yoff are image left corner, a/e are pixel wight/height and b/d is rotation and is zero if image is north up. 
xoff, a, b, yoff, d, e = ds.GetGeoTransform() 
def pixel2coord(x, y):
    """Returns global coordinates from pixel x, y coords"""   
    xp = a * x + b * y + xoff
    yp = d * x + e * y + yoff
    return(xp, yp)
# get columns and rows of your image from gdalinfo
rows = 15381+1
colms = 15081+1

if __name__ == "__main__":
    for row in  range(0,rows):
        for col in  range(0,colms): 
            print pixel2coord(col,row)

1 Ответ

0 голосов
/ 28 июня 2018

Это код вашего интереса:

if __name__ == "__main__":
    file=open("file.csv","w") ## open file in write mode
    for row in  range(0,rows):
        for col in  range(0,colms): 
            x,y = pixel2coord(col,row)
            print "({},{})".format(x,y)
            lat= ## x or y
            long= ## x or y
            file.write("{};{}\n".format(lat,long)) ## write each coordinate comma-separated

PS: я использую csv в европейском стиле (точка с запятой), если вы американец, не стесняйтесь заменить точку с запятой (внутри строки) запятой

...