6

テキストファイルからリストインリストを読み込みたい。多くの例を調べましたが、解決策はありません。これは私がやりたいことです私はPythonの初心者です

def main()
    mainlist = [[]]
    infile = open('listtxt.txt','r')
    for line in infile:
        mainlist.append(line)

    infile.close()

    print mainlist

`[[],['abc','def', 1],['ghi','jkl',2]]`

しかし、私が欲しいのはこのようなものです

[['abc','def',1],['ghi','jkl',2]]

私のリストには

'abc','def',1
'ghi','jkl',2
'mno','pqr',3

私が欲しいのは、リストにアクセスしたときに print mainlist[0] 返されるはずです

'abc','def',1

どんな助けでも大歓迎ですありがとう、

4

6 に答える 6

15

あなたはこれを次のように行うことができるように私には思えます:

from ast import literal_eval
with open('listtxt.txt') as f:
    mainlist = [list(literal_eval(line)) for line in f]

これは、要素の型が保持されていることを確認する最も簡単な方法です。たとえば、次のような行:

"foo","bar",3

2 つの文字列と整数に変換されます。もちろん、行自体は python タプルとしてフォーマットする必要があります...そして、これは一般性と単純さのため、おそらく最速のアプローチではありません。

于 2013-04-28T23:48:48.593 に答える
5

多分このようなもの。

mainlist = []
infile = open('listtxt.txt','r')
for line in infile:
    mainlist.append(line.strip().split(','))

infile.close()

print mainlist
于 2013-04-28T23:37:02.533 に答える
2

mainlist空のリスト自体ではなく、空のリストを最初の要素として初期化しています。変化する:

mainlist = [[]]

mainlist = []
于 2013-04-28T23:37:09.320 に答える