Mam pliku csv z pola nagłówków, że niektóre z nich zawiera dwa \ trzy wyrazy oddzielone spacją:
nie można odczytać pliku CSV z pole nagłówka, które zawierają dwa trzech słów oddzielonych spacjami pomocą CsvHelper bibliotekę
można zobaczyć na powyższym zdjęciu nagłówki pól, które oddzielone spacjami:
„Time of Day”, „Nazwa Process”, „Image path”
Kiedy próbowałem odczytać CSV otrzymałem błąd:
Błąd: "FieldOff" TimeOfDay "nie istnieje w pliku CSV."
Dzieje się tak, ponieważ moja klasa DataRecord
nie może zawierać zmiennych ze spacjami.
Chcę znaleźć sposób, aby odczytać plik CSV bez zmiany pliku CSV (ponieważ wywożone przez oprogramowanie firm trzecich)
C# Kod:
public static class Logic
{
public static StringBuilder GetLoadImagesLogs(String i_FilePathAndName)
{
StringBuilder o_ConvertedLogs = new StringBuilder();
using (var sr = new StreamReader(i_FilePathAndName))
{
var reader = new CsvReader(sr);
do
{
reader.Read();
IEnumerable<DataRecord> records = reader.GetRecords<DataRecord>();
} while (!reader.IsRecordEmpty());
}
return o_ConvertedLogs ;
}
class DataRecord
{
//Should have properties which correspond to the Column Names in the file
//i.e. CommonName,FormalName,TelephoneCode,CountryCode
public String TimeOfDay { get; set; }
public String ProcessName { get; set; }
public String PID { get; set; }
public String Operation { get; set; }
public String Path { get; set; }
public String Result { get; set; }
public String Detail { get; set; }
public String ImagePath { get; set; }
}
}
Dlaczego nie analizować CSV samodzielnie w przeciwieństwie do stosując po wyjęciu z pudełka 3rd biblioteki strona? –
@DJKRAZE, nadal nie poradziłem sobie z tym. najpierw muszę znaleźć rozwiązanie problemu z nagłówkiem pola – E235
czy znasz VB.NET za pomocą 'Microsoft.VisualBasic.FileIO;' Napisałem swój własny parser za pomocą tego prostego zestawu .. Zrób wyszukiwanie google, jak używać ' TextFieldParser' do parsowania .CSV Plik C# Mogę opublikować mój dokładny parser, którego używam/napisałem, musiałbyś wprowadzić drobne zmiany w kodzie, aby pasował do twojego przypadku użycia – MethodMan