Python如何按指定长度(5)打印列表中的每个元素
解决方法
你当前代码反复输出19,是因为你打印的是字符串的长度(len(itemDate[x])),而非字符串本身。你的日期格式应该是类似YYYY-MM-DD HH:MM:SS的格式,刚好长度为19,所以每次输出这个数字。
要实现每个元素取前5个字符打印,只需修改打印逻辑,用字符串切片[:5]获取前5个字符即可,同时可以简化代码里的计数器(不需要单独维护x变量):
修改后的代码示例
i = 2 while i < maxR: valuesItems = wb0["C" + str(rowList[i])].value itemDate.append(valuesItems) # 直接打印当前元素的前5个字符 print(valuesItems[:5]) i += 1
额外注意事项
如果Excel单元格里的日期是datetime类型(不是纯字符串),直接切片会报错,需要先转成字符串再处理:
i = 2 while i < maxR: valuesItems = wb0["C" + str(rowList[i])].value if valuesItems is not None: # 避免空单元格报错 itemDate.append(valuesItems) # 转为字符串后取前5个字符 print(str(valuesItems)[:5]) i += 1
这样就能得到你想要的、每个元素前5个字符的输出了。
内容的提问来源于stack exchange,提问作者Panther Motos
相关产品推荐
相关产品推荐

