我正在使用 Bing Ads API 为使用来自 nuget 的 Microsoft.BingAds.SDK 的客户创建在线广告效果仪表板。
现在一切正常,但我必须先将 csv 报告下载到文件系统,然后才能读取数据并将其显示给用户:
var t = await manager.DownloadFileAsync(
new ReportingDownloadParameters()
{
ReportRequest = request,
OverwriteResultFile = true,
ResultFileDirectory = @"C:\Temp",
ResultFileName = @"GL15.csv",
});
var csvConfig = new CsvHelper.Configuration.CsvConfiguration()
{
Delimiter = ",",
HasHeaderRecord = true,
Quote = '"'
};
var returnList = new List<BingDailyCampaignPerformance>();
using (var textReader = System.IO.File.OpenText(@"C:\Temp\GL15.csv"))
using (var csvReader = new CsvHelper.CsvReader(textReader, csvConfig))
{
while (csvReader.Read())
{
returnList.Add(GetRow(csvReader));
}
}
这似乎效率不高 - 为什么我不能以某种方式将 csv 下载到内存中,然后跳过文件系统?
有可能这样做吗?