我是Python新手,所以请耐心等待。我尝试使用slice提取列表中每个项目的前10个字符。列表来自csv.reader功能。当我在csv.readervs我在代码中创建的列表。
我的列表timesheet.csv
包含以下值:
20/10/2015 09:10
20/10/2015 10:20
20/10/2015 16:30
21/10/2015 08:30
21/10/2015 09:45
21/10/2015 10:22
21/10/2015 14:01
我试图删除时间,只留下日期。所以我认为下面的代码应该可以做到:
^{pr2}$我原以为它会输出:
20/10/2015
20/10/2015
20/10/2015
21/10/2015
21/10/2015
21/10/2015
21/10/2015
但是我得到了全部清单:
20/10/2015 09:10
20/10/2015 10:20
20/10/2015 16:30
21/10/2015 08:30
21/10/2015 09:45
21/10/2015 10:22
21/10/2015 14:01
奇怪的是,如果我用另一种方法添加列表来测试,例如
your_list = ['21/10/2015 16:14', '20/10/2015 23:00']
for x in your_list:
current_date = x[:10]
print(current_date)
输出如我所愿:
21/10/2015
20/10/2015
我认为这与对列表项中的项数进行切片修剪有关,而不是字符数,但我不太明白原因? 谢谢
试试这个:
这是因为
your_list
是一个列表列表。要解决您的问题,请将current_date = x[:10]
更改为current_date = x[0][:10]
,这样会很好。在问题是
your_list
中的项是包含字符串的列表,而不是字符串。在尝试:
这应该是你想要的。
x[0]
是列表中包含的x
的字符串。在请注意,另一种方法是使用熊猫:
^{pr2}$相关问题 更多 >
编程相关推荐