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

如何使用.NET查询Blob中CSV文件的内容?附Python参考示例

.NET 中查询 Blob 存储里 CSV 文件内容的最小实现示例

在.NET中,Azure Blob存储SDK提供了QueryAsync方法来实现和Python query_blob类似的功能,以下是对应你Python代码的最小实现:

1. 安装依赖

先确保安装Azure Blob存储的NuGet包:

Install-Package Azure.Storage.Blobs

2. 代码实现

using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System.Text;

// 配置信息
string connectionString = "你的Blob存储连接字符串";
string containerName = "你的容器名称";
string blobName = "目标CSV文件的Blob名称";
string columnName = "要查询的列名";
string whereCondition = "WHERE 你的过滤条件"; // 示例:"WHERE Age > 18"

// 构造查询表达式
string queryExpression = $"SELECT {columnName} FROM BlobStorage {whereCondition}";

// 创建Blob客户端实例
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
BlobClient blobClient = containerClient.GetBlobClient(blobName);

// 配置CSV解析规则(对应Python中的DelimitedTextDialect)
var queryOptions = new BlobQueryOptions
{
    InputTextConfiguration = new BlobQueryTextOptions
    {
        Format = BlobQueryCsvTextFormat.Parse(
            delimiter: ",",
            quoteChar: '"',
            escapeChar: "",
            hasHeaders: true
        ),
        RecordSeparator = "\n"
    }
};

// 执行查询并读取结果
using var reader = new StreamReader(await blobClient.QueryAsync(queryExpression, queryOptions), Encoding.UTF8);
string line;
while ((line = await reader.ReadLineAsync()) != null)
{
    // 处理每一行查询结果
    Console.WriteLine(line);
}

关键说明

  • BlobQueryOptions中的InputTextConfiguration用来配置CSV的解析规则,和你Python代码里的DelimitedTextDialect参数一一对应
  • 查询表达式的语法和Python版本一致,基于Azure Blob存储的查询语言编写
  • QueryAsync返回流形式的结果,通过StreamReader逐行读取可避免一次性加载大文件到内存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:59:59