Я проведу вас через компонент сценария, чтобы справиться с этим:
Я предполагаю, что ваш CSV выглядит так, а не html выше:
Date,New York,Washington,London
15-04-2020,2,3,20
16-04-2020,30,50,22
Я назвал этот файл likes.txt и сохранил его на моем D: \
- Добавить поток данных
- Добавить компонент сценария (источник)
- Go на входы и выходы и добавьте свои выходные данные (не забудьте типы данных)
Go в сценарий и вставьте следующий код в CreateNewOutputRows:
string[] lines = File.ReadAllLines(@"d:\likes.txt");
List<string> cities = new List<string>();
int ctr = 0;
foreach (string line in lines)
{
ctr++;
//skip empty rows
if(string.IsNullOrWhiteSpace(line)) continue;
//Get Cities from Header
if (ctr == 1)//Header row
{
string[] headers = line.Split(',');
for (int i = 1; i < headers.Length; i++)
{
cities.Add(headers[i]);
}
continue; //Go to next line
}
//Work with details
string[] pieces = line.Split(',');
for (int i = 1; i < pieces.Length; i++)
{
Output0Buffer.AddRow();
Output0Buffer.City = cities[i-1];
Output0Buffer.Date = DateTime.ParseExact(pieces[0].ToString(), "dd-MM-yyyy", CultureInfo.InvariantCulture);
Output0Buffer.Likes = int.Parse(pieces[i]);
}
}
Добавьте следующие пространства имен, чтобы код работал:
using System.IO;
using System.Collections.Generic;
using System.Globalization;
Вот ваши результаты:
В этом скрипте есть что распаковать, так как он использует списки, массивы, задачи файловой системы и т. Д. c. Дайте мне знать, если у вас есть вопросы.
PS - Это ответ вируса короны (то есть мне скучно) без каких-либо усилий с вашей стороны. По крайней мере, покажите, что вы пробовали в будущем.