我有100个.tiff文件,并使用以下命令:
gdal_translate -of XYZ MCD13A2.t201624.006.global.1km_NDVI.O0.tif MCD13A2.t201624.006.global.1km_NDVI.O0.csv
这会生成.csv文件,但它以空格分隔,而不是以逗号分隔。
有没有人知道为什么会这样,或者有任何解决方案将这个空格分隔的文件转换成逗号分隔的.csv?
答案 0 :(得分:2)
您只需使用CSV模块:
import csv
with open(ur_infile) as fin, open(ur_outfile, 'w') as fout:
o=csv.writer(fout)
for line in fin:
o.writerow(line.split())
它将使用空格分隔符自动读取您的CSV并使用逗号(默认情况下)写入。
此外,您可以指定分隔符:
csv.reader(csvfile, delimiter=' ')
csv.writer(csvfile, delimiter=',')
答案 1 :(得分:2)
google search显示了以下方法:
完成xyz转换后,您只需使用命令行实用程序sed
(假设您使用linux
):
sed 's/ /,/g' in.xyz > out.csv
由于您正在创建100个csv文件,因此您可能在for循环中使用gdal_translate
,因此您可以在gdal_translate
之后添加该额外行,您甚至不会注意到任何内容!
但是,如果你想使用@ iFlo的方法而不用担心内存不足问题,你可以查看this thread。