2011-08-22 66 views
0

嗨,我想比較列csv文件具有相同的CSV文件的B列如下:一個列與另一個Python中的CSV文件

column a: 
8,67,55,32,44,70,9,10,79,21 

column b: 
22, 45, 6, 22, 3, 22, 6, 7,22,5 

我希望用戶輸入一個數字可以說:'8'使用rawinput命令。然後在其他庫侖(b)中搜索對應於8的數字。這應該給22.一旦獲得22,我想要列出(b)與列b中的第22列相對應的列(a)的所有其他數字。請幫助我如何去做這件事?

+1

顯示我們到目前爲止你寫的是什麼。 – Gerrat

+2

在標準庫中使用'csv'模塊,編寫一些代碼。然後回到那個代碼,如果它不起作用,或者你無法弄清楚的具體事情,我們會幫助你。 – agf

+0

您可以向我們展示您嘗試這麼做嗎?你至少應該可以開始,一旦你展示了你所做的事情,就可以問一個什麼不起作用的問題。 –

回答

1

我會爲輸入數據創建一個字典(讓我們稱之爲dictA),其中鍵是列的數字和值列b。

我還會創建第二個字典(dictB),其中的鍵是列b的數字,值是列a中相應值的列表。

因此,對於您給出的示例,用戶將輸入8,這將在dictA中查找,並且會找到22。 然後將在dictB中查找22,在dictB中的值爲22 [8,32,79]。但是,如果您認爲合適,請返回該列表

這一切都假定列a中的值是唯一的。

1

某些功能可能對你有用(從Python正式文件選擇):

的raw_input([提示])如果提示參數存在時,它被寫入 標準輸出,而不一個尾隨的換行符。然後該函數從輸入中讀取一行 ,將其轉換爲字符串(剝離尾隨的 換行符),然後返回該字符串。

str.split([SEP [,maxsplit]])返回的詞的列表中 串,使用月作爲分隔符串。

list.index(x)返回 值爲x的第一項的列表中的索引。如果沒有這樣的項目,這是一個錯誤。

此外,如果你正在做什麼要你的數值可能是有用的類型轉換它們:

INT([X [,基地]])將字符串轉換或編號爲一個純整數。如果 參數是一個字符串,則它必須包含一個可能帶符號的十進制 數字,可表示爲Python整數,可能嵌入在 空格中。你

可能還需要使用列表理解,如:

>>> my_str_vals = ['20', '42', '14.2', '808.0'] 
>>> my_floats = [float(val) for val in my_str_vals] 
>>> my_str_vals[2] 
'14.2' 
>>> my_floats[2] 
14.2 
相關問題