从 Google colab 中的列表中提取完整的 link
Extract full link from a list in Google colab
我正在尝试从一列中的此类行中提取一列链接
{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q47099'}
为此:
http://www.wikidata.org/entity/Q47099
基本上我想在 Google Colab 中使用 pandas 在一列中提取不同的链接,所以我在导入 csv 后使用此代码行:
(org 是我的 csv 文件中的列,链接是创建的新列)
data['links']=data['org'].str.findall('http://www.wikidata.org/entity/')
然后我尝试了另一个:
data[data['org'].str.contains('www.wikidata.org')]
但两者都给了我同样的结果:
[![在此处输入图片描述][1]][1]
请帮忙
更新 2:
来自data.head(5).to_dict()
的输出
{'links': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan},
'org': {0: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q47099'}",
1: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q565020'}",
2: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q576490'}",
3: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q590897'}",
4: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q604034'}"},
'orgLabel': {0: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Grupo Televisa, owner of TelevisaUnivision'}",
1: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Cuponzote'}",
2: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Casas GEO'}",
3: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Empresas ICA'}",
4: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Atletica'}"}}
如果您的 org
列包含真正的字典,请使用:
data[data['org'].str['value'].str.contains('www.wikidata.org')]
# ^^^^^^^^^^^^^
如果要提取link:
data['links'] = data['org'].str['value']
更新
你的专栏看起来像一个字典,但它是一个字符串。您必须先使用 ast.literal_eval
:
进行评估
import ast
data['org'] = data['org'].apply(ast.literal_eval)
data['links'] = data['org'].str['value']
print(data)
# Output
links org orgLabel
0 http://www.wikidata.org/entity/Q47099 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
1 http://www.wikidata.org/entity/Q565020 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
2 http://www.wikidata.org/entity/Q576490 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
3 http://www.wikidata.org/entity/Q590897 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
4 http://www.wikidata.org/entity/Q604034 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
我正在尝试从一列中的此类行中提取一列链接
{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q47099'}
为此: http://www.wikidata.org/entity/Q47099
基本上我想在 Google Colab 中使用 pandas 在一列中提取不同的链接,所以我在导入 csv 后使用此代码行: (org 是我的 csv 文件中的列,链接是创建的新列)
data['links']=data['org'].str.findall('http://www.wikidata.org/entity/')
然后我尝试了另一个:
data[data['org'].str.contains('www.wikidata.org')]
但两者都给了我同样的结果: [![在此处输入图片描述][1]][1]
请帮忙
更新 2:
来自data.head(5).to_dict()
{'links': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan},
'org': {0: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q47099'}",
1: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q565020'}",
2: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q576490'}",
3: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q590897'}",
4: "{'type': 'uri', 'value': 'http://www.wikidata.org/entity/Q604034'}"},
'orgLabel': {0: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Grupo Televisa, owner of TelevisaUnivision'}",
1: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Cuponzote'}",
2: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Casas GEO'}",
3: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Empresas ICA'}",
4: "{'xml:lang': 'en', 'type': 'literal', 'value': 'Atletica'}"}}
如果您的 org
列包含真正的字典,请使用:
data[data['org'].str['value'].str.contains('www.wikidata.org')]
# ^^^^^^^^^^^^^
如果要提取link:
data['links'] = data['org'].str['value']
更新
你的专栏看起来像一个字典,但它是一个字符串。您必须先使用 ast.literal_eval
:
import ast
data['org'] = data['org'].apply(ast.literal_eval)
data['links'] = data['org'].str['value']
print(data)
# Output
links org orgLabel
0 http://www.wikidata.org/entity/Q47099 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
1 http://www.wikidata.org/entity/Q565020 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
2 http://www.wikidata.org/entity/Q576490 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
3 http://www.wikidata.org/entity/Q590897 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...
4 http://www.wikidata.org/entity/Q604034 {'type': 'uri', 'value': 'http://www.wikidata.... {'xml:lang': 'en', 'type': 'literal', 'value':...