0
results = open(filename, 'r')


   line = results.readline()
   while line != '':
    # results for a single draw
    star = line[line.rfind('\t') :]
    stars.append(star)
    line =results.readline()
'''

while line != '':


   main = [line[:line.rfind('\t')]]
   mains.append(main)
   line =results.readline()
return (mains)

上記のスクリプトを使用して、1,2,3,4,5 タブ 9,10new 行 6,7,8,9,10 タブ 11,12 の形式のテキスト ファイルから読み取り、[[ 1,2,3,4,5],[6,7,8,9,10]]上記のスクリプトは [['1,2,3,4,5'],['6,7,8 ,9,10']] - 括弧が原因でデータを使用できません。もう一度ばかげたことをお許しください。テキスト ファイルからリスト形式を取り戻すにはどうすればよいでしょうか。私は他の投稿を読もうとしましたが、提案を適用することができませんでした - これにはあまりにも新しいです

4

2 に答える 2

3

これを試して:

results = open(filename, 'r')
line = results.readline()
mains = []
while line != '':
  stars = line[:line.rfind('\t')].split(',')
  nums = [int(n) for n in stars]
  mains.append(nums)
  line =results.readline()
于 2012-11-28T15:26:43.830 に答える
0

試す:

# say your data is in file named 'testfile'
$ cat testfile 
1,2,3,4,5   9,10
6,7,8,9,10  11,12

# the actual code
datafile = [line.strip().split('\t')[0].split(',') for line in open('testfile')]   
result = []
for l in datafile:
    result.append([int(string) for string in l])
# test the results
print(result)
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]

編集:各行の両方の部分を取得するには、次を試してください:

datafile = [line.strip() for line in open('testfile')]
datafile = [line.split('\t') for line in datafile if line]
datalist = list(zip(*datafile))
result = []
for index in datalist:
    for i in index:
        result.append([int(string) for string in i.split(',')])
# you can access the result list by indexing:
print(result[:2], result[2:])
# or assign to new lists:
firstlist, secondlist = result[:2], result[2:]
print(firstlist, secondlist)
于 2012-11-28T18:38:23.613 に答える