【发布时间】:2019-02-11 19:40:18
【问题描述】:
我一直在尝试将 .bcp 文件格式的英国慈善委员会数据转换为 .csv 文件格式,然后可以将其读入 R。我所指的数据可在此处获得:http://data.charitycommission.gov.uk/。我要做的是将这些 .bcp 文件转换为可用的数据帧,我可以在 R 中清理和运行分析。
在这个 github 页面 https://github.com/ncvo/charity-commission-extract 上有关于如何通过 python 执行此操作的建议,但不幸的是,我无法让这些选项起作用。
我想知道是否有任何语法或包可以让我直接在 R 中打开这些数据?我还没找到。
另一种选择是使用readLines 简单地将R 中的文件作为单个字符向量打开。我已经这样做了,文件用@**@ 分隔列,*@@* 分隔行。 (见这里:http://data.charitycommission.gov.uk/data-definition.aspx)。是否有一个 R 命令可以让我从一个长字符串创建一个数据框,为行和列定义分隔符?
【问题讨论】:
-
我不能给你一个明确的 R 解决方案,但我有经验在那个数据集上遇到这个挑战。像许多问题一样,它归结为字符编码——你链接到的 Python 脚本在 Windows 中的某些行对我来说失败了,但我通过了运行 Linux 的人,它就可以工作了。
-
谢谢你 - 我无法让那些 python 脚本在 Windows 中工作,所以我很高兴不仅仅是我。我主要在 R 中工作,所以我想知道这是否只是我在 python 方面的能力不足,很高兴听到其他人遇到问题。
-
只需在子行文本编辑器中使用替换...用
;替换@**@,用'\n'替换*@@*...另存为csv..不是你可以使用fread或您喜欢的其他阅读器轻松导入.. -
@Wimpel 我确实在 sublime 文本编辑器中尝试过(我曾尝试在 notepad++ 中做同样的事情)但它因文件大小而崩溃。不过,您下面的解决方案似乎可以解决问题。
标签: r bcp file-conversion