首页 > 解决方案 > 如何将一个非常大的文件导入 R(用逗号分隔)

问题描述

我有一个xls包含超过一百万行数据的文件。所有内容都在一列中,并用逗号分隔。Excel打开它需要很长时间,我只需要两条信息——客户ID和交易金额。

我的方法是将文件导入 R(用逗号分隔),然后提取我需要的两列。问题是导入后所有内容仍然在一列中。我已经尝试过read.csv(file, sep = ",")read_csv(file, col_names = T)readr. 没有工作。但是,我将前五行保存为另一个xls文件进行测试,它可以正常导入(正确分离),没有任何问题。

我也尝试cSplit用逗号分割导入的数据集,但我得到了Error: C stack usage 14478558 is too close to the limit. 我想这是由于文件大小。很抱歉,我无法提供可复制的示例,但数据如下所示,有 100 万行:

  customer_id,type,note_number,amount,company
  1,cc,abc,5,A
  2,dc,bcd,7,B
  3,cc,cde,10,C

编辑

感谢@akrun 的建议,来自函数的警告消息让我意识到源文件中包含data.table::fread(file)一些字段。使导入和分离更加棘手的是有些有几个. 例如,某人的名字可以显示为而不是。,""""""Joh, Dep"""Joh Dep"

另外,正如@RonakShah 建议的那样,我创建了一个示例测试文件

标签: rread.csvreadr

解决方案


推荐阅读