![](/img/trans.png)
[英]How to develop so that the fields below indicated are transformed into an MS WORD file, in an organized manner?
[英]How to write to a file in an organized manner?
我有以下代码:
file = open('scores.txt','w')
playerscores = []
playernames = [['A'],['B'],['C'],['D'],['E'],['F']]
for y in range(6):
for z in range(5):
print("Enter score from Judge",z+1,"for couple ",playernames[0+y],"in round 1:")
playerscores.append(int(input()))
MY_LIST = str(playerscores)
for_every = 4
本质上,我想通过在新行上打印以下索引位置来写入文件
playerscore[0:6]
playerscore[7:13]
等等
因此,它看起来像:
1,1,1,1,1,1,1,1,1,1
而不是[1,1,1,1,1,1]
我需要这样做
file = open('filename','r')
并调用职位,很容易给出。
如果我理解正确,那么您正在寻找这样的东西:
l = [4,3,2,5,6,4,6]
# split l in chunks -> e.g. [[4,3,2], [5,6,4,6]]
chunks = [[4,3,2], [5,6,4,6]]
with open('file.txt', 'w') as f:
for i,chunk in enumerate(chunks):
if i!=0:
f.write('\n'+','.join(str(i) for i in chunk))
else:
f.write(','.join(str(i) for i in chunk))
# read data back in ls as integers
ls = []
with open('file.txt', 'r') as f:
lines = f.read().splitlines()
for line in lines:
ls += map(int,line.split(','))
print ls
尽管它是从我的get_data()
函数而不是从input()
获取数据的,但是这是一些get_data()
您需要的代码。 这使代码更易于测试。 但是,一旦完成程序开发,就可以轻松地用input()
替换get_data()
调用。
关键思想是,除了将输入数据的整数版本保存到playerscores
我们还将其原始字符串形式保存在一个单独的名为row
列表中。 因此,当我们完成读取给定行的数据时,可以轻松地将其保存到文件中。 这比尝试将数据从playerscores
分离出来并将其转换回字符串更简单。
from random import seed, randrange
# Seed the randomizer
seed(42)
# Make some fake data, to simulate user input.
# Print & return a random number from 1 to 5, in string form
def get_data():
n = str(randrange(1, 6))
print(n)
return n
playernames = ['A', 'B', 'C', 'D', 'E', 'F']
numjudges = 5
playerscores = []
scoresfile = open('scores.txt', 'w')
for players in playernames:
row = []
for z in range(1, numjudges + 1):
print("Enter score from Judge", z, "for couple ", players, "in round 1:")
data = get_data()
playerscores.append(int(data))
row.append(data)
scoresfile.write(','.join(row) + '\n')
print()
scoresfile.close()
典型输出
Enter score from Judge 1 for couple A in round 1:
1
Enter score from Judge 2 for couple A in round 1:
1
Enter score from Judge 3 for couple A in round 1:
3
Enter score from Judge 4 for couple A in round 1:
2
Enter score from Judge 5 for couple A in round 1:
2
Enter score from Judge 1 for couple B in round 1:
2
Enter score from Judge 2 for couple B in round 1:
1
Enter score from Judge 3 for couple B in round 1:
5
Enter score from Judge 4 for couple B in round 1:
1
Enter score from Judge 5 for couple B in round 1:
5
Enter score from Judge 1 for couple C in round 1:
4
Enter score from Judge 2 for couple C in round 1:
1
Enter score from Judge 3 for couple C in round 1:
1
Enter score from Judge 4 for couple C in round 1:
1
Enter score from Judge 5 for couple C in round 1:
2
Enter score from Judge 1 for couple D in round 1:
2
Enter score from Judge 2 for couple D in round 1:
5
Enter score from Judge 3 for couple D in round 1:
5
Enter score from Judge 4 for couple D in round 1:
1
Enter score from Judge 5 for couple D in round 1:
5
Enter score from Judge 1 for couple E in round 1:
2
Enter score from Judge 2 for couple E in round 1:
5
Enter score from Judge 3 for couple E in round 1:
4
Enter score from Judge 4 for couple E in round 1:
2
Enter score from Judge 5 for couple E in round 1:
4
Enter score from Judge 1 for couple F in round 1:
5
Enter score from Judge 2 for couple F in round 1:
3
Enter score from Judge 3 for couple F in round 1:
1
Enter score from Judge 4 for couple F in round 1:
2
Enter score from Judge 5 for couple F in round 1:
4
scores.txt的内容
1,1,3,2,2
2,1,5,1,5
4,1,1,1,2
2,5,5,1,5
2,5,4,2,4
5,3,1,2,4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.