2015-11-04 139 views
1

我按照他們的date的文件名在存放每個匹配對的元組列表中排序文件。遍歷元組對(python 3.x)列表

print (matching_files) 

output:

[('sample_20140809.csv', 'data_20140809.csv'),('sample_20140806.csv', 'data_20140806.csv'), ('sample_20140801.csv', 'data_20140801.csv') 

問:我如何可以遍歷每個元組對?

我想開sample_20140809.csvdata_20140809.csv做一些這些文件,寫一個新的文件,並比循環到下一個對等,直到有該文件夾中沒有更多對....

是這樣的: for a,b in matching_pairs:但什麼,我需要做的。如果我只想用一對每個循環...

+0

'的(文件1,文件2):' – thefourtheye

回答

1

你靠近,循環之後你可以打開文件,並使用csv模塊創建它們的作家對象:

import csv 
for a,b in matching_pairs: 
    with open(a,'w') as file_obj1,open(b,'w') as file_obj2: 
     spam_writer1=csv.writer(file_obj1,delimiter=',') 
     spam_writer2=csv.writer(file_obj2,delimiter=',') 
     # do stuff 

請注意,您可以將自己的分隔符傳遞給此處的作者對象,例如,我已將逗號傳遞爲分隔符。

在matching_files瞭解更多關於CSV模塊https://docs.python.org/3/library/csv.html

+0

非常感謝你。這對我的理解有很大的幫助。我仍然不確定如何在這之後回到下一個'matching_pair' –

+1

@PeterS你的意思是*回到下一個matching_pair *?matching_pair是元組列表的名稱,因爲你正在使用循環它將在每次迭代中得到每一對。 – Kasramvd

+0

好吧,如果這是它應該如何工作的問題,其餘的問題在我的'縮進'我猜。非常感謝你 –