如何从 MQL4 中的 CSV 文件中读取特定的单元格值?
How to read specific cell value from CSV file in MQL4?
我试图从 MQL4 中的 CSV 文件中仅读取一个单元格值,但是,在线文档并未涵盖查找单个单元格值的内容,我搜索了无数线程以寻找解决方法,但 none.
我的代码如下,
int Handle = FileOpen("/Users/rahulparmeshwar/Documents/Algo
/LogisticRegressionOutput.csv",FILE_READ|FILE_CSV,',');
double Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Alert(Str);
FileClose(Handle);
CSV文件内容如下
非常感谢任何帮助,谢谢。
出于安全原因,使用文件在 MQL4 语言中受到严格控制。使用MQL4方式进行文件操作的文件,不能在文件沙箱之外。
这意味着您必须将 csv 文件放在 ...\MQL4\Files
文件夹中。
关于您的代码,使用数组效率更高。然后,您可以使用 [行] [列] 读取特定的单元格值。请记住,数组是从零开始的(您的第一行和第一列引用将是 [0][0])。
string data[1][18]
int Handle=FileOpen("LogisticRegressionOutput.csv",FILE_CSV|FILE_SHARE_READ,",");
if(Handle<1){return(-1);}
int row=0;
ArrayResize(data,18);
while(!FileIsEnding(Handle))
{
if(row>ArraySize(data)/18-1) {ArrayResize(data,(row+1)*18);}
for(int i=0; i<=18-1; i++) data[row][i]=FileReadString(Handle);
row++;
}
FileClose(Handle);
Print(data[0][0]);
我试图从 MQL4 中的 CSV 文件中仅读取一个单元格值,但是,在线文档并未涵盖查找单个单元格值的内容,我搜索了无数线程以寻找解决方法,但 none.
我的代码如下,
int Handle = FileOpen("/Users/rahulparmeshwar/Documents/Algo
/LogisticRegressionOutput.csv",FILE_READ|FILE_CSV,',');
double Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Str = FileReadInteger(Handle,1);
Alert(Str);
FileClose(Handle);
CSV文件内容如下
非常感谢任何帮助,谢谢。
出于安全原因,使用文件在 MQL4 语言中受到严格控制。使用MQL4方式进行文件操作的文件,不能在文件沙箱之外。
这意味着您必须将 csv 文件放在 ...\MQL4\Files
文件夹中。
关于您的代码,使用数组效率更高。然后,您可以使用 [行] [列] 读取特定的单元格值。请记住,数组是从零开始的(您的第一行和第一列引用将是 [0][0])。
string data[1][18]
int Handle=FileOpen("LogisticRegressionOutput.csv",FILE_CSV|FILE_SHARE_READ,",");
if(Handle<1){return(-1);}
int row=0;
ArrayResize(data,18);
while(!FileIsEnding(Handle))
{
if(row>ArraySize(data)/18-1) {ArrayResize(data,(row+1)*18);}
for(int i=0; i<=18-1; i++) data[row][i]=FileReadString(Handle);
row++;
}
FileClose(Handle);
Print(data[0][0]);