如何解决如何在 Python 循环中删除文件
我正在将 tif 文件转换为 csv 文件。这是我的代码。请注意,“copy”命令是一个 Stata 命令,但您可以从我在代码中提供的链接轻松下载 zip 文件,很可能带有请求。
copy "https://biogeo.ucdavis.edu/data/worldclim/v2.1/base/wc2.1_5m_prec.zip" ///
"wc2.1_5m_prec.zip",replace
unzipfile wc2.1_5m_prec.zip,replace
erase readme.txt
蟒蛇:
#Importing relevant commands
from osgeo import gdal
import pandas as pd,numpy as np,os,glob
#Loops over these to save space
for file in glob.glob("*.tif"):
ds = gdal.Open(file)
# TIFF to CSV
xyz = gdal.Translate(file+".xyz",ds)
xyz = None
df = pd.read_csv(file+".xyz",sep = " ",header = None)
df.columns = ["x","y","value"]
df.to_csv(file+".csv",index = False)
files_in_dir = glob.iglob('*.xyz')
del df
for _file in files_in_dir:
print(_file) # just to be sure,you kNow how it is...
os.remove(_file)
os.remove(file)
end
我想将第一个文件 (wc2.1_5m_prec_01.tif
) 转换为 xyz
文件,然后将此 xyz
文件转换为 csv
文件。但是,在继续下一个文件 (wc2.1_5m_prec_02.tif
) 之前,我想删除 原始 tif
文件,因为它已经过时了。我想我会删除它存储的数据框。即使我这样做了,除非我完全离开 Stata 并像这样删除它,否则文件不会删除。我在这里缺少什么吗?请注意,我可以删除 xyz 文件就好了。这里的 tif 文件似乎有问题。
解决方法
答案是 del ds
,如上所述,因为这是键控的数据集变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。