ReadDataFromCSV.h

UCLASS()
class MYPROJECT_API UReadDataFromCSV : public UBlueprintFunctionLibrary
{
GENERATED_BODY() public:
UFUNCTION(BlueprintCallable, Category = "CSV")
static TArray<FString> GetCSVDataToString(FString csvPath); };

ReadDataFromCSV.cpp

#include "ReadDataFromCSV.h"
//CSV解析器
#include "Runtime/Core/Public/Serialization/Csv/CsvParser.h"
//文件路径检索助手
#include "Runtime/Core/Public/Misc/Paths.h" TArray<FString> UReadDataFromCSV::GetCSVDataToString(FString csvPath)
{
//文件路径+文件名
FString csvFile = FPaths::ProjectContentDir() + csvPath;
//返回值
TArray<FString> csvContent; //判断路径下的文件是否存在
if (FPaths::FileExists(csvFile))
{
FString FileContent;
//把csv文件内容读取到字符串中
FFileHelper::LoadFileToString(FileContent, *csvFile);
//把字符串进行解析
FCsvParser* csvfiles = new FCsvParser(FileContent); //解析器GetRows()方法会返回所有的单元格里的C风格的字符串
/*
*( [TCHAR*] [TCHAR*] [TCHAR*] )——> TArray<const TCHAR*> \
* [TCHAR*] [TCHAR*] [TCHAR*] )——> TArray<TArray<const TCHAR*>>
* [TCHAR*] [TCHAR*] [TCHAR*] /
*/
FCsvParser::FRows content = csvfiles->GetRows();
//TArray<TArray<const TCHAR*>> content = csvfiles->GetRows(); /* 遍历数组
* int[] arr = new int[] { 1, 2, 3 }
* for (int i : arr) {
* ...
* }
*/ //从第一行遍历到最后一行
for (TArray<const TCHAR*>& ite : content)
{
//在当前行中,从第一个字符指针(单元格里的字符串)遍历到最后一个字符指针(单元格里的字符串)
for (const TCHAR*& chr : ite)
{
csvContent.Add(chr);
}
}
return csvContent;
}
else
return csvContent;
}

测试数据

TestData.csv

    


 关卡蓝图


运行结果

通过文件路径读取CSV表格内的数据的更多相关文章

  1. python2读取EXCEL表格内的数据时碰到的问题

    一,今天在剥离自动化的测试数据时,发生了一个错误,错误显示读取不到某个单元格的数据. 因为我使用的是python2,正好那一个单元格出现的是中文汉字,再者通过查看报错日志,让我了解到错误的原因. di ...

  2. java通过文件路径读取该路径下的所有文件并将其放入list中

    java通过文件路径读取该路径下的所有文件并将其放入list中   java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...

  3. .35-浅析webpack源码之babel-loader入口文件路径读取

    在处理./input.js入口文件时,在类型判断被分为普通文件,所以走的文件事件流,最后拼接得到文件的绝对路径. 但是对应"babel-loader"这个字符串,在如下正则中被判定 ...

  4. 怎么把excel表格内的数据导入数据库?

    第一种方法: 思路:想要把excel表格内的数据直接导入数据库不是那么容易,可以把excel表格另存为.csv格式的文档(特点:内容以逗号分割):然后通过一系列的文档操作函数处理成为一个二维数组,然后 ...

  5. 读取Excel表格日期类型数据的时候

    用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel 2.Excel数据处理: Excel存储日期.时间均以数值类型进行存储,读取时POI先判断是是否是数值类型,再进行判断转化 1 ...

  6. C++读取csv表格文件到vector

    这个CSV文件假设知道每行有多少个数,也知道数据的格式,即可使用下面简单的方法实现. 我们假设每行有4个数据,依次是int,int,float,float 基本思路是:把每行的数据定为一个类型,放在v ...

  7. C#写入(覆盖形式)数据到CSV文件 和 读取CSV文件

    /// <summary> /// 写入数据到CSV文件,覆盖形式 /// </summary> /// <param name="csvPath"& ...

  8. 深度学习原理与框架-递归神经网络-时间序列预测(代码) 1.csv.reader(进行csv文件的读取) 2.X.tolist(将数据转换为列表类型)

    1. csv.reader(csvfile) # 进行csv文件的读取操作 参数说明:csvfile表示已经有with oepn 打开的文件 2. X.tolist() 将数据转换为列表类型 参数说明 ...

  9. Spring boot 文件路径读取异常

    在开发代码中,有一段需要获取resources目录下的一个配置文件(这里写作test.xml). 这段代码在ide中没有任何问题,但是一打成jar包发布到线上,这段代码就会报找不到对应文件的错误. 按 ...

随机推荐

  1. FeiQ项目

    一.映射表 UDPMeditor.h中: typedef void (UDPMeditor::*pFunc)(char*,long); struct ProtocolMap { PackdefType ...

  2. Nginx静态网站的部署

    静态网站的部署 首先先看一下nginx/conf/nginx.conf 配置文件内的信息: #user nobody; worker_processes 1; #error_log logs/erro ...

  3. Leetcode:Longest Substring Without Repeating Characters分析和实现

    题目大意是传入一条字符串,计算出这样的这样一条子字符串,要求子字符串是原字符串的连续的某一段,且子字符串内不包含两个或两个以上的重复字符.求符合上面条件的字符串中最长的那一条的长度. 首先注意到任意一 ...

  4. 4-1 线程安全性-原子性-atomic-1

    我们发现在不做任何同步的情况下,我们计算的累加结果是错误的. com.mmall.concurrency.example.count.CountExample2 C:\Users\ZHONGZHENH ...

  5. c++ 流状态

    这里是对cin中函数的作用的补充.

  6. codeforce 459DIV2 C题

    题意 一串括号字符串,里面存在一些‘?’,其中‘?’既可以当作 '(' 又可以当作 ')' ,计算有多少对(l,r),在s中[sl,s(l+1),s(l+2),.....sr],内的括号是匹配的.n= ...

  7. Lambda03 方法引用、类型判断、变量引用

    1 方法引用 1.1 方法引用的好处 方法引用结合 Lambda 可以引用已存在的方法,省略很多编码,而且可读性更强,它可以自动装配参数与返回值. 在编写lambda表达式的时候可以通过方法引用的方式 ...

  8. 01 git 概念

    本文转自“廖雪峰的git教程” 集中式版本控制系统:版本库是集中存放在中央服务器的,中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 分布式版 ...

  9. keydown、input 和 keyup 事件

    keydown.keyup 属于键盘事件,input 属于文本事件. keydown:当用户按下键盘上的任意按键时触发,如果按住不放,会重复触发此事件. keyup:当用户释放键盘上的按键时触发. i ...

  10. ASP.NET MVC5 Authentication Filters执行链

    注意区分认证和授权: The following  are the differences in short: Authentication(认证): It is a process of verif ...