我正在开发一个程序,它将一些excel数据解释为对我更有用的东西。但是我真的不知道该如何进行下去。
我有一个带有excel矩阵的csv文件,其中存储了一些数据。看起来像这样:
;1;1;1;1;1;1;1;
;1;0;A;0;1;0;0;
;1;0;1;0;1;0;1;
;1;0;1;0;1;0;1;
;1;0;1;0;1;0;1;
;0;0;1;0;B;0;1;
;1;1;1;1;1;1;1;
我想读取这些数据并通过wxWidgets以以下格式显示它们:
1111111
1000100
1010101
1010101
1010101
0010001
1111111
A: 3, 2
B: 5, 6
这是我使用wxWidgets库为此使用的实际代码:
void WxWFrame::OnToggleButton1Toggle(wxCommandEvent& event)
{
TextCtrl1->SetValue("");
wxString file;
wxFileDialog fdlog(this, _("Open CSV file"), "", "",
"CSV (*.csv)|*.csv", wxFD_OPEN|wxFD_FILE_MUST_EXIST);
if(fdlog.ShowModal() != wxID_OK) return;
file.Clear();
file = fdlog.GetPath();
wxString str;
wxTextFile tfile;
tfile.Open(file);
str = tfile.GetFirstLine();
while(!tfile.Eof())
{
str.Replace(wxT("X"), wxT("0"));
str.Replace(wxT("Y"), wxT("0"));
str.Replace(wxT(";"),wxT(""));
TextCtrl1->WriteText("\r\n");
TextCtrl1->WriteText(str);
str = tfile.GetNextLine();
}
tfile.Close();
}
这用于查看不带分号的矩阵,并且将X和Y替换为零。但是我无法弄清楚如何确定A和B的x和y坐标。我认为创建实际的数据矩阵可能很有用-然后通过GetFirst / NextLine从文件中读取行并将其加载到该矩阵。之后,使用计数器和循环从矩阵中获取这些x和y坐标应该相当容易。但是问题在于,无论我做什么,我都无法将存储在str变量中的文件的行拆分为较小的块,并用分号进行拆分,然后将它们一一加载到矩阵中。
因此,如果有人可以帮助我,我将非常感激。我该如何使用该wxString,在找到分号后将其分解为数组-然后将其附加到数组数组中?