【发布时间】:2019-12-12 20:18:23
【问题描述】:
我有一个 for 循环,它通过一个 Dataframe 并打印一些行,可能是 2 或 3 行。我编写了一个代码,但它只将最后一行写入文本文件。 这是我的代码:
data = read_csv()
#how to change this line
data = data.set_index('Seat No')
print('Here is your ticket...')
x=read_file()
for seat_no in x:
row=data.loc[int(seat_no)]
ticket = open('ticket.txt', 'w')
old_stdout = sys.stdout
sys.stdout = ticket
ticket.writelines('''
{}-{} {}
{}
'''.format(row.Source, '%4s' % row.Destination, '%2s' % row.Departure, '%2s' % seat_no))
sys.stdout = old_stdout
ticket.close()
printed_ticket = open('ticket.txt').read()
print(printed_ticket)
【问题讨论】:
-
old_stdout = sys.stdout; sys.stdout = ticket这件事有什么意义???您不需要它来写入文件。
标签: python dataframe text-files