2015-01-07 240 views
2

嘗試一些相對簡單的事情。Python中的元組和CSV閱讀器

首先,我有一個元組作爲密鑰字典如下: (0,1,1,0):「索引1」

我在讀,其中有一組對應的字段的CSV文件用這些零和一些的各種組合。因此,例如,CSV中的行可以不帶任何引用地讀取0,1,1,0。我試圖將文件中零和文件的組合與字典的鍵匹配。對此使用標準的CSV模塊

然而,問題在於零和1是以單引號而不是整數的字符串讀入。換句話說,從每行創建的元組被構造爲('0','1','1','0'),它們不匹配(0,1,1,0)

任何人都可以擺脫關於如何將CSV帶入並刪除單引號的一些信息?元組匹配和CSV閱讀似乎工作 - 只需要理順數據格式。

謝謝!

回答

0
tuple(int(x) for x in ('0','1','1','0')) # returns (0,1,1,0) 

所以,如果您的CSV讀者對象稱爲csv_reader,你只需要像這樣的循環:

for row in csv_reader: 
    tup = tuple(int(x) for x in row) 
    # ... 
0
當你在CSV文件中讀取

,這取決於你使用的是什麼庫,你可以指定分隔符。

通常,逗號被解釋爲分隔符。也許你可以指定分隔符作爲別的東西,例如' - ',以便將一組數字作爲字符串一起讀取,並且可以使用多種方法將其轉換爲元組,例如使用converting string to tuple中提到的ast.literal_eval

希望有幫助!