我对一张叫做“电影”的桌子有意见。我发现日期和电影标题都在标题栏里。如图所示:
我不知道如何处理这种问题。所以,我尝试使用这段代码使其与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/

10-11 22:49
查看更多