从.txt文件读入数据(无标题,无分隔符)

时间:2015-12-01 14:01:24

标签: r preprocessor

我有一个大型数据集(~200MB)存储在.txt文件中,我需要将其读入R.不幸的是,之间没有分隔符(如“”或“,”)变量的值,并且没有头文件

但是有一个代码簿,它给出变量名称,并指定哪个列属于哪个变量。一些变量占用一列空格,一些占用更多(因此public void SetTabActive(string tab) { LabelPlus activeTab = this.tabs.Find(x => x.Name.Equals(tab)); List<LabelPlus> inactiveTabs = new List<LabelPlus>(this.tabs.FindAll(x => !x.Name.Equals(tab))); activeTab.BackColor = this.ActiveColor; activeTab.ForeColor = this.ActiveForeColor; string panelName = tab.Remove(tab.Length - this.tabSuffix.Length); Panel activeTabPanel = (Panel)this.Controls.Find(panelName, true).FirstOrDefault(); activeTabPanel.Bounds = new Rectangle( new Point(this.tabStart, this.originalLocation.Y + this.TabTotalHeight), this.Size); ControlCollection activeTabCtrls = activeTabPanel.Controls; foreach(LabelPlus inactiveTab in inactiveTabs) { inactiveTab.BackColor = this.InactiveColor; inactiveTab.ForeColor = this.InactiveForeColor; string inactivePanelName = inactiveTab.Name.Remove(inactiveTab.Name.Length - this.tabSuffix.Length); Panel inactiveTabPanel = (Panel)this.Controls.Find(inactivePanelName, true).FirstOrDefault();// inactiveTabPanel.Bounds = new Rectangle( new Point(this.tabStart, this.originalLocation.Y + this.TabTotalHeight), this.Size); ControlCollection inactiveTabControls = inactiveTabPanel.Controls foreach (Control ctrl in inactiveTabControls) { ctrl.Location = new Point(0, ctrl.Location.Y); ctrl.Hide(); } } foreach (Control ctrl in activeTabCtrls) { ctrl.Location = new Point(0, ctrl.Location.Y); ctrl.Show(); } } 不起作用);但是它们的宽度对于所有情况都是相同的。

我可能只需阅读其中的一些变量,所以我希望我只需选择必要的列并命名变量。这样做的优雅解决方案是什么(甚至可能预选有意义的变量类型)?

1 个答案:

答案 0 :(得分:0)

您可以考虑按原样加载数据,然后使用&#39; strsplit&#39;解析每一行。适当的正则表达式。

con <- file("yourfile.txt", open = "r")
lines <- readLines(con)

将其重复,将strsplit应用于每一行,并使用rbind将其添加到数据表中。