Naïve split string at line terminators and commas
FString fPath = "C:\\test_data.csv";
TArray<TArray<FString>> parsedCSV;
if (FPaths::FileExists(fPath))
{
FString FileContent;
//Read the csv file
FFileHelper::LoadFileToString(FileContent, *fPath);
//UE_LOG(LogTemp, Error, TEXT("%s"), *FileContent);
const TCHAR* Terminators[] = { L"\r", L"\n" }; //LINE_TERMINATOR
const TCHAR* CSVDelimeters[] = {TEXT(",")};
TArray<FString> CSVLines;
FileContent.ParseIntoArray(CSVLines, Terminators, 2);
TArray<FString> temp_array;
for (int i = 0; i < CSVLines.Num(); i++) {
temp_array.Empty();
CSVLines[i].ParseIntoArray(temp_array, CSVDelimeters, 1);
parsedCSV.Add(temp_array);
}
//TArray<FString> GetCSVDataToString(FString fPath);
//FCsvParser* csvfiles = new FCsvParser(FileContent); alternate method?
}
for (int i = 0; i < parsedCSV.Num(); i++) {
for (int j = 0; j < parsedCSV[i].Num(); j++) {
UE_LOG(LogTemp, Error, TEXT("%s"), *parsedCSV[i][j]);
}
UE_LOG(LogTemp, Error, TEXT("%s"), "\n");
}