我有一个带有列的excel文件,其中值的格式为25/02/2016。我想在列表中保存所有这些日期行。每行都是一个单独的值。我该怎么做呢?到目前为止,这是我的代码:
我有一个带有列的excel文件,其中值的格式为25/02/2016。我想在列表中保存所有这些日期行。每行都是一个单独的值。我该怎么做呢?到目前为止,这是我的代码:
import openpyxl
wb = openpyxl.load_workbook ('LOTERIAREAL.xlsx')
sheet = wb.get_active_sheet()
rowsnum = sheet.get_highest_row()
wholeNum = []
for n in range(1, rowsnum):
wholeNum = sheet.cell(row=n, column=1).value
print (wholeNum[0])
当我使用print语句时,而不是打印应该是列表中第一项的第一行的值,例如25/02/2016,它打印的行的第一个字符是数字2.显然它正在切割日期。我希望第一行和后续行保存为列表中的单独项目。我究竟做错了什么?提前致谢
答案 0 :(得分:0)
wholeNum = sheet.cell(row=n, column=1).value
将单元格的值分配给变量wholeNum,因此您永远不会向初始空列表添加任何内容,只是每次都会覆盖该值。当您在结尾处调用wholeNum[0]
时,wholeNum是读取的最后一个字符串,并且您将获得它的第一个字符。
您可能希望wholeNum.append(sheet.cell(row=n, column=1).value)
累积一个列表。
答案 1 :(得分:0)
wholeNum =
这是一项任务。它使名称wholeNum
引用=
运算符右边的表达式求值的任何对象。
for ...: wholeNum = ...
在循环中执行赋值通常没用。名称wholeNum
将指代在循环的最后一次迭代中为其分配的任何值。其他迭代没有明显的效果。
要将值附加到列表,请使用.append()
方法。
for ...:
wholeNum.append( ... )
print( wholeNum )
print( wholeNum[0] )