我对一张叫做“电影”的桌子有意见。我发现日期和电影标题都在标题栏里。如图所示:
我不知道如何处理这种问题。所以,我尝试使用这段代码使其与MySQL代码类似,但无论如何我都没有工作。
DataFrame(row.str.split(' ',-1).tolist(),columns = ['title','date'])
如何将其分成两列(标题、日期)?
最佳答案
如果您使用的是MySQL 8+,那么我们可以尝试使用REGEXP_REPLACE
:
SELECT
REGEXP_REPLACE(title, '^(.*)\\s\\(.*$', '$1') AS title,
REGEXP_REPLACE(title, '^.*\\s\\((\\d+)\\)$', '$1') AS date
FROM yourTable;
Demo
下面是一个通用的regex模式,它可以匹配您的标题字符串:
^.*\s\((\d+)\)$
说明:
^ from the start of the string
(.*)\s match and capture anything, up to the last space
\( match a literal opening parenthesis
(\d+) match and capture the year (any number of digits)
\) match a literal closing parenthesis
$ end of string
关于mysql - 如何将一列分为两列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55555068/