2

リストの1行目が[0]、2行目が[1]などのファイルに書き込もうとしています。

これが簡単な例です

crimefile = open('C:\states.csv', 'r')
b = crimefile.read()
l = b.splitlines()
print l[1]

states = open('c:\states.txt', 'w')
states.write('"abc"' + " " + '%s' '\n' %l[0+=])

states.close()

私はPythonのループに本当に慣れていないので、基本的に、ループとループ中に整数を増やす方法についてあまりよくわかりません。

4

3 に答える 3

6

使用enumerate()

for ind,line in enumerate(l):
    print ind,line

例:

In [55]: lis=['a','b','c','d','e','f']
In [57]: for i,x in enumerate(lis):
    print i,x
   ....:     
   ....:     
0 a
1 b
2 c
3 d
4 e
5 f

または使用len()してxrange()

In [59]: for i in xrange(len(lis)):     #use range() in case of python 3.x
   ....:     print i,lis[i]
   ....:     
   ....:     
0 a
1 b
2 c
3 d
4 e
于 2012-09-10T18:26:28.713 に答える
0

私はあなたの質問を本当に受けたかどうかはわかりませんが、これは私がとにかくそれを解決する方法です:

f = open('C:\states.csv', 'r')
states = open('c:\states.txt', 'w')

for line in f:
    states.write('"abc"  %s\n' % line)

f.close()
states.close()
于 2012-09-10T18:34:49.980 に答える
0

これは「pythonic」ソリューションです。

l = ['a', 'b', 'c', 'd']
with open('outfile', 'w') as f:
    f.write('\n'.join(l))

私はあなたの'abc'ものについてはよくわかりませんが、あなたがそれを必要としていることを考えると、これは解決策になるでしょう:

'\n'.join(['"abc" %s' % e for e in l])
于 2012-09-10T18:55:55.560 に答える