我为这个任务编写的代码工作得很好,但我知道它不是最具python风格的,所以我正在寻找一些建议。我有一个日志文件的数据框架,其中一列有完整的URL(主机名+路径等)。我编写了以下代码来提取域:
# Generate domain column from uri
import uritools
domain = []
for value in df['uri']:
try:
nuri = [uritools.urisplit(value).authority if uritools.isuri(value) else value]
domain.append(nuri)
except:
domain.append(None)
df['domain'] = domain
正如我所说,这是可行的,但它很丑陋。输出很好,但当我试图将其调整为一行时,它不起作用。以下是我尝试过的:
df['domain'] = [uritools.urisplit(df.uri).authority if uritools.isuri(df.uri) else df.uri]
我得到的错误是:
TypeError: expected string or bytes-like object
我怎样才能改进它使之更合适
您需要为列表理解提供一个iterable
注意
df.uri
只出现在行的末尾相关问题 更多 >
编程相关推荐