0

我正在使用的代码是:

fout = open('expenses.0.col', 'w')  
for line in lines:
  words = line.split()
  amount = amountPaid(words)
  num = nameMonth(words)
  day = numberDay(words)
  line1 = amount, num, day
  fout.write(line1)
fout.close()

有一个文件,您看不到行中的行正在从中提取,运行得很好。行内有 100 行。在编写最后一段代码时,目标是获得 100 行的三列,其中包含以下值:数量、数量和日期。这三个值都是整数。

我见过类似的问题,例如[python]Writing a data file using numbers 1-10,我得到与该示例相同的错误。我的问题是将 dataFile.write("%s\n" % line) 应用于我的案例,每行三个数字。应该是快速的 1 行代码修复。

4

3 回答 3

0

使用 print 语句/函数而不是 write 方法。

于 2013-05-02T05:18:55.760 回答
0

在您的示例中,line1是一个元组 - 数字(我假设这些函数amountPaid(), nameMonth(), numberDay()都返回一个整数或浮点数)。

你可以做以下两件事之一:

  • 让这些函数将数字作为字符串值返回
  • 或将返回值转换为字符串,即: amount = str(amountPaid(words))

一旦这些值是字符串,您可以简单地执行以下操作:

line1 = amount, num, day, '\n'
fout.write(''.join(line1))

希望有帮助!

于 2013-05-02T05:23:48.700 回答
0
line1 = amount, num, day
fout.write("{}\n".format("".join(str(x) for x in line1)))
于 2013-05-02T05:33:02.610 回答