2014-02-20 37 views
0

我的Python腳本存在以下問題。我有一個包含了一堆緯度經度座標,像這樣的列表...將整個列表元素添加到文件中

l = [('-12.3790,45.2880',), ('-11.4660,43.8350',), ('-10.2810,42.1890',), ('-9.0860,40.7450',), ('-7.8840,39.4580',), ('-6.6660,38.3070',), ('-5.4330,37.2710',)] 

,我想寫一個列表到一個文件,這樣數據看起來像這樣的文本文件:

l = [('-12.3790,45.2880'), ('-11.4660,43.8350'), ('-10.2810,42.1890'), ('-9.0860,40.7450'), ('-7.8840,39.4580'), ('-6.6660,38.3070'), ('-5.4330,37.2710')] 

請注意,我不想在()內經過lat long之後的逗號。我怎樣才能做到這一點?

當我這樣做:

with open('file.txt', 'a') as f: 
    f.write(l[:]) 

這並不工作

+1

你正在寫*元組*,每個都有一個元素。你爲什麼要把你的數據寫入一個像這樣的文件?在這裏創建一個副本是沒有意義的,順便說一句,'f.write()'調用不會修改列表,所以'f.write(l)'會做同樣的事情。 –

+1

也許你想寫'[('-12.3790','45.2880'),...]'而不是?每個元素都是經度和緯度的兩個*獨立*值的元組? –

+5

我仍然不只是將列表寫入文件;例如,我會使用更容易解析的格式,例如JSON。 –

回答

1

假設你真的想在你的問題的輸出格式,這將做到這一點:

"l = [" + ", ".join(["('" + t[0] + "')" for t in l]) + "]" 
+0

可以放棄'l ='部分,從OP如何寫入列表來判斷。 –

+0

工作正常!非常感謝你們! – squid22

+0

很樂意幫忙=) –