【发布时间】:2016-07-25 18:04:58
【问题描述】:
将值附加到 python 列表时,我遇到了奇怪的行为。我正在使用 openpyxl 读取多个 excel 文件的值,做一些数学运算并将它们写入一个新的 excel 文件。但是,当遍历标题列中的行并将值附加到列表时,列表的最终结果是单元格的值加上“L”。例如,这是我的代码的相关部分:
xl_file = 'path/to/excel/file.xlsx'
wb = openpyxl.load_workbook(xl_file, data_only=True)
sheet = wb.get_sheet_by_name("sheetname")
hdr_col = [] # empty list to store contents of column header
for r in range(3, 13): # we want rows 3-12. rows 1 and 2 of column hdr are empty
val = sheet.cell(row=r, column = 1).value
print val # prints the actual value (1, 2, 3,..., 10)
hdr_col.append(val)
print hdr_col # prints values with L, i.e.:
[1L、2L、3L、4L、5L、6L、7L、8L、9L、10L]
有人可以向我解释发生了什么吗?起初我以为它是 openpyxl 模块,但 L 仅在将值附加到列表后才被添加,所以我现在认为它实际上是 Python。
【问题讨论】:
-
为什么这很重要?
-
@DanielRoseman 它没有,我只是好奇。我发现它只是意味着值是 Long 类型,通过循环遍历列表并打印出值及其类型。下面的人回答了我关于他们为什么要这样打印的问题。