【发布时间】:2023-04-06 15:03:01
【问题描述】:
我的问题是关于在 re.split() 函数中传递的数据。
我有以下数据
Name | Sport |
---|---|
John | Football;NBA,Tennis |
Mary | Squash,Tetris;MMA |
Scott | Cricket,Tennis |
Kim | Rugby,WNBA;Footy |
我正在尝试使用 ';' 拆分字符串和 ',' 作为分隔符。 Name 和 Sports 列的数据类型最初是 'object'
import numpy as np
import pandas as pd
import re
df = pd.read_excel(r'Filepath\sports.xlsx',sheet_name = 'data')
df[['Name','Sport']] = df[['Name','Sport']].astype('string')
print(df.dtypes)
df[['A']] = re.split(r';,',df['Sport'])
df
转换为字符串后尝试拆分。我收到以下错误。
TypeError: expected string or bytes-like object
我尝试过使用
df[['A']] = re.split(r';,',df['Sport'].astype('string'))
但错误一直存在。有什么建议吗?
【问题讨论】:
-
发布完整的回溯消息 - 我们不应该猜测错误在哪里。
-
@tdelaney 对此表示歉意。我无法发布完整的追溯消息,因为原始数据是机密的。我在这里生成了示例数据,其中的变量已更改以反映这一点。但是,我明白你的意思,因此我应该发布我在代码块中收到这行代码的错误。希望这可以消除任何疑虑。 df[['A']] = re.split(r';,',df['Sport'])
标签:
python
python-3.x
string
split
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在 Python 中使用多个分隔符分割字符串。获取 TypeError:预期的字符串或类似字节的对象 - Python技术站