我有一段代码从Excel电子表格中读取数据,然后对数据进行一些简单的处理,并将结果保存到文本文件中。
除了一个问题外,所有工作正常 - 我只能看到最后一条记录。 似乎循环覆盖所有记录...... 我怎样才能获得所有记录?
from openpyxl import load_workbook
# The source xlsx file is named as source.xlsx
wb=load_workbook("/home/test/Downloads/test.xlsx")
ws = wb.active
first_column =ws['A']
second_column =ws['B']
# Print the contents
for x in xrange(len(first_column)):
A = str(first_column[x].value)
B = str(second_column[x].value)
C = str(len(B.split()))
PRN = A+B+C
file = open('filename', 'w')
file.write(PRN)
file.close()
答案 0 :(得分:1)
当您打开文件时,它会删除所有以前的数据。使用:
INSERT INTO tableName (employee_name, total) VALUES(10, 100) ON DUPLICATE KEY UPDATE total = total + 100;
这会附加到文件而不是重写它。这确实导致多次运行程序将使最终结果更长和更长。所以你也可以使用:
file = open('filename', 'a')
答案 1 :(得分:1)
# Print the contents
file = open('filename', 'w')
for x in xrange(len(first_column)):
A = str(first_column[x].value)
B = str(second_column[x].value)
C = str(len(B.split()))
PRN = A+B+C
file.write(PRN)
file.close()
答案 2 :(得分:0)
对代码进行少量修改: -
PRN = A+B+C
file = open('filename', 'a')
file.write(PRN+"\n")
file.close()