尝试使用R将.txt转换为Excel,出现不规则间距的问题,如;分隔符;
我是一个相当基础的用户,我在使用R以整洁的方式上传.txt文件以获得类似Excel的表格输出时遇到了问题 我的主要问题源于.txt文件中的“列”是通过使用不同数量的空格创建的。例如(表示空格的句点,想象信息排列在一起):尝试使用R将.txt转换为Excel,出现不规则间距的问题,如;分隔符;,r,R,我是一个相当基础的用户,我在使用R以整洁的方式上传.txt文件以获得类似Excel的表格输出时遇到了问题 我的主要问题源于.txt文件中的“列”是通过使用不同数量的空格创建的。例如(表示空格的句点,想象信息排列在一起): 史密斯先生,35岁,布鲁克林 史密斯夫人……33岁……布鲁克林 儿童史密斯……8岁……布鲁克林 另一个孩子史密斯1岁布鲁克林 史密斯奶奶…829岁…布鲁克林 这些行有几十万行,所有行都有不同的空格排列成“列”。你知道我应该如何输入数据吗?看起来你的文件根本没有定界,而是以固
- 史密斯先生,35岁,布鲁克林
- 史密斯夫人……33岁……布鲁克林
- 儿童史密斯……8岁……布鲁克林
- 另一个孩子史密斯1岁布鲁克林
- 史密斯奶奶…829岁…布鲁克林
这些行有几十万行,所有行都有不同的空格排列成“列”。你知道我应该如何输入数据吗?看起来你的文件根本没有定界,而是以固定宽度的格式。当数据在相同固定宽度的字段中具有不同数量的字符时,您关注的是空格的数量您需要对此进行验证。但第一个“列”似乎正好有19个字符长。然后是字符串
Age
(末尾有一个空格),然后是一个包含年龄的7个字符的列。然后是最后一个专栏,现在还不清楚会持续多久
当然,这可能是我对这个小片段的过度理解。检查我是否猜对了。如果我有,您可以对这样的文件使用基本函数read.fwf
。假设文件名为foo.txt
,您希望调用结果my\u foo
。Age
列是多余的,所以我们跳过它。假设最后一列实际上有8个字符(布鲁克林Brooklyn
中的字符数,但您需要对此进行检查)
my_foo如果清除器始终是一些空格,您可以在.txt文件中读取这些空格,并使用查找多个空格的正则表达式将每行拆分为一个向量:
x <- c("Mister B Smith Age 35 Brooklyn",
"Mrs Smith Age 33 Brooklyn")
stringr::str_split(x, " {2,}")
[[1]]
[1] "Mister B Smith" "Age 35" "Brooklyn"
[[2]]
[1] "Mrs Smith" "Age 33" "Brooklyn"
x所以这个结果不起作用,我的例子是超基本的,因为我不能透露信息。不过谢谢你,这一定会在以后派上用场的!
x <- c("Mister B Smith Age 35 Brooklyn",
"Mrs Smith Age 33 Brooklyn")
stringr::str_split(x, " {2,}")
[[1]]
[1] "Mister B Smith" "Age 35" "Brooklyn"
[[2]]
[1] "Mrs Smith" "Age 33" "Brooklyn"