sqlite3 получить номер дня и недели питона - PullRequest
0 голосов
/ 22 октября 2018

Я хотел бы получить номера дня и недели (установите среду как первый день недели). Я использую 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

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Вы можете использовать парсер 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 к самой таблице базы данных.

0 голосов
/ 22 октября 2018

У меня тоже была эта проблема.Это вызвано тем, что СУБД не может распознать этот формат строки даты.Я решил эту проблему, используя один из форматов даты sqlite: https://www.sqlite.org/lang_datefunc.html

Если в таблице много записей, вы можете написать скрипт, который переформатирует все записи.В противном случае вы можете просто заполнить таблицу снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...