我想获取星期几(将星期三设置为一周的第一天)。我使用sqlite3
创建数据库。
示例数据库Order
name time
A0001 10/1/16
A0002 10/2/16
A0003 10/5/16
A0004 10/16/16
A0005 10/8/16
A0006 10/17/16
A0007 10/23/16
import sqlite3
import pandas as pd
%sql sqlite://
select name, strftime('%w',time) as weekday,strftime('%W',time) as weeknumber
from Order
似乎strftime
无效。weekday
和weeknumber
全部返回到None
答案 0 :(得分:0)
我以前也有这个问题。这是因为DBMS无法识别此日期字符串格式。我通过使用一种sqlite日期格式解决了此问题: https://www.sqlite.org/lang_datefunc.html
如果表中有很多记录,则可以编写一个重新格式化所有记录的脚本。否则,您可以再次填写表格。
答案 1 :(得分:0)
您可以使用dateutil解析器将文本文件中的日期转换为标准格式。
>>> from dateutil.parser import *
>>> for line in open('rya.txt'):
... line = line.strip()
...
... item = line.split()
... print(item[0], str(parse(item[1])).split()[0])
...
A0001 2016-10-01
A0002 2016-10-02
A0003 2016-10-05
A0004 2016-10-16
A0005 2016-10-08
A0006 2016-10-17
A0007 2016-10-23
这样做,您可以使用datetime来获取每个日期的星期几和星期几。
或者,您可以使用Python函数将类似的逻辑应用于数据库表本身。