我正在使用 CSV 和 DataFrames 从 Twitter 分析中读取数据。
我想从某个单元格中提取 url
输出是这个过程如下
tweet number tweet id tweet link tweet text
1 1.0086341313026E+018 "tweet link goes here" tweet text goes here https://example.com"
我怎样才能将这个“tweet 文本”切片以获取它的 url?我无法使用 [-1:-12] 对其进行切片,因为有许多推文具有不同的字符数。
请您参考如下方法:
我相信你想要:
print (df['tweet text'].str[-12:-1])
0 example.com
Name: tweet text, dtype: object
更通用的解决方案是 regex与 str.findall获取所有链接的列表,如有必要,首先通过使用 str[0] 进行索引来选择:
pat = r'(?:http|ftp|https)://(?:[\w_-]+(?:(?:\.[\w_-]+)+))(?:[\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?'
print (df['tweet text'].str.findall(pat).str[0])
0 https://example.com
Name: tweet text, dtype: object
