Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用R将.txt转换为Excel,出现不规则间距的问题,如;分隔符;_R - Fatal编程技术网

尝试使用R将.txt转换为Excel,出现不规则间距的问题,如;分隔符;

尝试使用R将.txt转换为Excel,出现不规则间距的问题,如;分隔符;,r,R,我是一个相当基础的用户,我在使用R以整洁的方式上传.txt文件以获得类似Excel的表格输出时遇到了问题 我的主要问题源于.txt文件中的“列”是通过使用不同数量的空格创建的。例如(表示空格的句点,想象信息排列在一起): 史密斯先生,35岁,布鲁克林 史密斯夫人……33岁……布鲁克林 儿童史密斯……8岁……布鲁克林 另一个孩子史密斯1岁布鲁克林 史密斯奶奶…829岁…布鲁克林 这些行有几十万行,所有行都有不同的空格排列成“列”。你知道我应该如何输入数据吗?看起来你的文件根本没有定界,而是以固

我是一个相当基础的用户,我在使用R以整洁的方式上传.txt文件以获得类似Excel的表格输出时遇到了问题

我的主要问题源于.txt文件中的“列”是通过使用不同数量的空格创建的。例如(表示空格的句点,想象信息排列在一起):

  • 史密斯先生,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"