2016-12-04 7 views
0

私は現在、このように見えるように、タプルとしてcsvファイルからの番号のリストをインポートしようとしています:フォーマットのCSVファイル

[(60、20)、(100、55)、(50、40 )、(20、 70)、(95、85)])

def tuples(filename): 
    import csv 
    with open(filename) as csvfile: 
     rdr = csv.reader(csvfile) 
     next(rdr, None) 
     my_list = [tuple(filter(None, row)) for row in rdr] 
     print(my_list) 

tuples("tuple.csv") 

しかしながら、現時点で私の出力である: [( '60'、 '20')、( '100'、'55 ('50 '、'40')、('95 '、'85')]

コードをフォーマットして引用符、および空のフィールド。 ご協力いただければ幸いです。

+0

あなたはしたくない「引用符を取り除く、」あなたは整数に文字列を変換したい... – kindall

+0

申し訳ありませんが、悪いことを言葉で表現、私はこれをどのように行うのでしょうか? – Konnichiwa

答えて

1

、すべての値を反復処理し、1つはあなたがmap()list comprehensionを使用することができ

my_list = [('60', '20'), ('100', '55'), ('50', '40'), ('20', '70', ' '), ('95', '85')] 
my_formatted_list = [tuple(int(value) for value in _tuple if value.strip()) for _tuple in my_list] 
+0

my_listをこの変数に置き換えるべきですか? – Konnichiwa

+0

は、しかし、私はに手動で入力タプルのリストを持っているし、変数_listに割り当てるか、ありがとう! – Konnichiwa

+0

それはところで働く、ただ好奇心 – Konnichiwa

0

あなたが整数のリストでそれらの値をしたい場合は、70

intlist = [] 
for i in my_list: 
    intlist += int (i) 
print (intlist) 

これでしょう出力[(60、20)、(100、55)、(50、40)、(20を行うことができ)、(95、85)])

あなたが出力したい場合は、1行にそれをしたい場合は値がその

ような何かをしようとしている

for i in my_list: 
    print (int (i)) 

のようなあなたのリストの上にあなたは可能性だけでループを別々に210 (すっきりであるが、初心者のために理解することが困難)リストの内包を使用

line = "" 
for i in my_list: 
    line += i 
print (line) 
+0

これはどうしますか? – Konnichiwa

+0

は正確に何をインポートした値をどうしたいですか? – mondlos

+0

それはループリストの上に、intergersにすべてを変換し、新しいリストにそれを追加します。 – mondlos

0

が存在する場合、整数に各要素を変換します以下のような機能:

my_list = [('60', '20'), ('100', '55'), ('50', '40'), ('20', '70', ' '), ('95', '85')] 
[tuple(map(int, item[:2])) for item in my_list] 
# Output: [(60, 20), (100, 55), (50, 40), (20, 70), (95, 85)] 

説明:

map(int, item[:2])map()item[:2]の各要素に機能int()を適用するために使用されます。

item[:2]tupleの2つの最初の要素のみをmy_listに使用する。

関連する問題