4

まず第一に、私はPython、またはそのことに関するあらゆる種類のプログラミングに非常に慣れていないというだけです。また、タイトルに何を入れたらいいのかわからなかったので、ごめんなさい。したがって、このcsvファイルを開いてから、コンマを削除して分割し、確認するために印刷すると、次のようになります(いくつかの例の番号)。

['1','2','3','4']
['5','6','7','8']
['9','10','11','12']

my_list [0]を出力しようとすると、1 5 9になるように、列ではなく行にインデックスを付ける方法があるかどうか疑問に思いました。

['1'、 '2'、 '3'、'4']の代わりに。私の実際の問題は、csvデータをタプルの行に変換し、要素を整数に変換して、さらに処理するために任意の行を選択できるようにする必要があることです。

私はこのサイトで見た多くのモジュールに精通していません。可能であれば、本当に基本的なコーディングの助けが欲しいです(時には非効率的ですが)

ありがとうございました!

4

2 に答える 2

2

zip(*my_list)かなり単純なリスト内包表記を使用して、リストを転置するために使用して、リストを必要な形式に変換できます(csvからリストを取得した後) 。

>>> my_list = [['1','2','3','4'],
...            ['5','6','7','8'],
...            ['9','10','11','12']]
>>> [[int(x) for x in row] for row in zip(*my_list)]
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
于 2012-10-22T05:03:20.697 に答える
1

この回答は、stranacによって提供された回答に対するあなたのコメントに続き、必要に応じてを作成しようとしmy_listます

my_list = []
with open('Test.csv', 'r') as csvfile:
    for lines in csvfile:
        temp_lines = lines.strip().split(',')
        my_list.append(temp_lines)

print(my_list)

ただし、Pythonですでに利用可能なcsvモジュールを利用することをお勧めします。ここで基本的な例を見ることができます

あなたはこのようなことをすることができます:

import csv
my_list = []
with open('Test.csv') as csvfile:
    spamreader = csv.reader(csvfile)
    for row in spamreader:
        my_list.append(row)
print(my_list)
于 2012-10-22T09:25:55.370 に答える