所以我做了很多瀏覽,但是我似乎無法打開我的文本文件,所以我可以開始操作它。用python打開和處理文本文件
我在同一個文件中救了我的計劃。我的第一線返回沒有錯誤:
fpath= r'/Users/veggiepunk1363/Desktop/geoproccessing/file_list.txt'
with open(fpath) as f_in:
dates= f_in.read()
f_in.close()
但現在是我的文件打開?該文本文件(file_list.txt)是:
3B43.20000101.7.tif
3B43.20000201.7.tif
3B43.20000301.7.tif
3B43.20000401.7.tif
3B43.20000501.7.tif ...
等等,所以現在我需要指定日期(1月,2月,3月等),而不是數字,但我沒有用過任何東西沒有「」,所以我是一個小夥子樂迷了,雖然我可以找到很多CSV文件,我還沒有找到我需要的txt文件,所以任何引用將不勝感激。
謝謝!
ps。如果有人知道如何將我的硬盤名稱更改爲veggiepunk1363以外的其他名稱,請告訴我!哈哈
我的新的代碼:
F =開放( '/用戶/ veggiepunk1363 /桌面/ geoproccessing/file_listmaster3.txt', 'R') FILEDATA = f.read() f.close()
揚= filedata.replace( 「20001」, 「2000Jan」)
二月= filedata.replace( 「20002」, 「2000Feb」)
三月= filedata.replace( 「20003」, 「2000Mar」)
四月= filedata.replace( 「20004」, 「2000Apr」)
五月= filedata.replace( 「20005」, 「2000May」)
君= filedata.replace( 「20006」,「2000Jun 「)
七月= filedata.replace(」 20007" , 「2000Jul」)
八月= filedata.replace( 「20008」, 「2000Aug」)
九月= filedata.replace(「20009 「,」2000Sep「)
十月= filedata.replace( 「20010」, 「2000Oct」)
十一月= filedata.replace( 「20011」, 「2000Nov」)
DEC = filedata.replace( 「20012」,「2000Dec 「)
F =開放( '/用戶/ veggiepunk1363 /桌面/ geoproccessing/file_listmaster3.txt', 'W')
F。寫(一月)
f.write(2月)
f.write(3月)
f.write(4月)
f.write(5月)
F。寫(6月)
f.write(7月)
f.write(8月)
f.write(9月)
f.write(10月)
f.write(11月)
f.write(十二月)
打印('的日期已經格式化')
f.close()
我知道這是很長的路要走做我想做,但我認爲它仍然會工作......它沒有。它使我的txt文件的大小增加了三倍,它看起來像一切都重複?不太清楚發生了什麼事。
您是否運行過它?你的文件在'with'塊中打開,當塊退出時自動關閉(所以不需要'dates = f_in.close()')。您的代碼將文件的全部內容讀入「日期」中。一個通常使用for循環逐行讀取數據(例如,'for in line in f_in:'而不是'read()'。嘗試建立一個循環來處理這些行,然後提交一個示例。 – tdelaney
Side-note :當你使用'with'語句時,對'close'的明確調用是不必要的和多餘的(如果你使用'with'語句,那麼資源清理是自動的,不會被忽略/跳過)。 – ShadowRanger
編輯。 ..我想出了開始/結束,但在編輯我的數據時出現了意想不到的結果。 – UTSloth