更改用“gdal_translate of XYZ”创建的csv中的默认分隔符

2024-04-25 04:30:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有100个.tiff文件,使用以下命令:

gdal_translate -of XYZ MCD13A2.t201624.006.global.1km_NDVI.O0.tif MCD13A2.t201624.006.global.1km_NDVI.O0.csv

这将生成一个.csv文件,但它是空格分隔的,而不是逗号分隔的。在

有人知道为什么会发生这种情况,或者有什么解决方案可以将这个空格分隔的文件转换成逗号分隔的.csv文件吗?在


Tags: 文件ofcsv命令translate空格逗号gdal
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,并用逗号(默认情况下)写入。在

另外,您可以这样指定分隔符:

^{pr2}$

A google search揭示了以下方法:

完成xyz转换后,您只需使用命令行实用程序sed(假设使用linux):

sed 's/ /,/g' in.xyz > out.csv

由于您要创建100个csv文件,您可能正在for循环中使用gdal_translate,所以您只需在gdal_translate后面添加额外的一行,您甚至不会注意到任何东西!在

不过,如果您想使用@iFlo的方法而不担心内存不足的问题,您可以查看一下this thread。在

相关问题 更多 >