You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code中自动将本地CSV列值导入Wikidata查询

自动将CSV列值导入Wikidata查询的方法

给你几个实用的实现方式,都是在VS Code环境下能搞定的:

  • VS Code正则替换快速处理

    1. 把CSV里的目标VIAF列单独导出到一个纯文本文件,保证每行一个VIAF值
    2. 打开这个文本文件,用VS Code的查找替换功能(快捷键Ctrl+H),勾选「正则表达式」选项
    3. 查找框输入^(.*)$,替换框输入"$1",点击全部替换,这样每个值都会加上双引号
    4. 把所有处理好的带引号的值复制,替换掉你原有查询里VALUES ?VIAF {后面的单个值,多个值之间用空格或换行分隔就行
  • Python脚本自动生成完整查询
    写个简单的脚本就能一键生成填充好所有值的查询语句,不用手动复制:

    import csv
    
    # 替换成你的CSV文件路径和目标列名
    csv_file = "你的文件路径.csv"
    viaf_col_name = "VIAF"
    
    viaf_list = []
    with open(csv_file, 'r', encoding='utf-8') as f:
        reader = csv.DictReader(f)
        for row in reader:
            # 给每个VIAF值加上双引号
            viaf_list.append(f'"{row[viaf_col_name]}"')
    
    # 拼接成最终查询
    base_query = """SELECT ?Author ?AuthorLabel ?VIAF ?birthLocation
    WHERE {
    VALUES ?VIAF {{ {values} }}
    ?Author wdt:P214 ?VIAF ;
      wdt:P19 ?birthLocation .
            
    SERVICE wikibase:label {{ bd:serviceParam wikibase:language "[AUTO_Language],de". }}              
    }"""
    
    final_query = base_query.format(values=" ".join(viaf_list))
    # 打印结果或者写入文件
    print(final_query)
    with open("填充好的查询.sparql", 'w', encoding='utf-8') as f:
        f.write(final_query)
    

    运行脚本后,直接把生成的查询内容复制到VS Code里就能用

  • VS Code扩展辅助
    可以找类似CSV to SPARQL VALUES的扩展安装,这类工具支持直接选中CSV里的目标列,一键生成符合SPARQL格式的VALUES块,直接插入到你的查询语句里就行;或者用SPARQL Notebook这类扩展,支持直接读取本地CSV并关联执行查询,更省心

内容的提问来源于stack exchange,提问作者MrLibre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 03:41:29