Intersects
我有上面的文字文件。
如何存储CSV文件,列分隔?
我有加载文件,但很难从文件中删除空格。
答案 0 :(得分:1)
可能有更优雅的方式,但这就是诀窍:
# read raw file in lines
file_raw <- readLines('file.txt')
# remove whitespace
file_trim <- trimws(file_raw,which = 'both')
# remove empty lines
file_trim <- file_trim[file_trim != '']
# sub white space with separator ,
file_csv <- gsub('\\s{2,}',',',file_trim)
最后还会有一些事情,例如--
分隔符和20 rows selected.
,但如果您愿意,可以在写作之前或阅读之后轻松过滤掉:
file_clean <- file_csv[!grepl('(-){3,}|rows selected',file_csv)]
write.csv(file_clean,'file_cleaned.csv')
> read.csv('file_cleaned.csv')
X x
1 1 13-JUL-17
2 2 Bank User,Space Occupied(GB)
3 3 CKYC_MNSB,.004211426
4 4 CORE_AMARNATH_ASP,8.75262451
5 5 CORE_AMBUJA,6.80389404
6 6 CORE_AMBUJA_ASP,10.0085449
7 7 CORE_ANAND_MERC_ASP,18.9866333
8 8 CORE_BALOTRA,17.8280029
9 9 CORE_BASODA,4.55432129
10 10 CORE_CHHAPI_ASP,11.9767456
11 11 CORE_DHANGDHRA_ASP,13.1849976
12 12 CORE_IDAR_ASP,13.3209229
13 13 CORE_JANTA_HALOL_ASP,12.7955933
14 14 Bank User,Space Occupied(GB)
15 15 CORE_JHALOD_URBAN_ASP,9.19219971
16 16 CORE_MANINAGAR,5.36090088
17 17 CORE_MANINAGAR_ASP,6.31414795
18 18 CORE_SANKHEDA,20.4329834
19 19 CORE_SMCB_ANAND_ASP,11.3191528
20 20 CORE_TARAPUR_ASP,8.24627686
21 21 CORE_VUCB,.000610352
22 22 TBA_TEMP,5.39910889
23 23 TEST_DUNIA,4.15698242
24 24 TABLESPACE NAME,Free Space in GB
25 25 TBAPROJ,33.2736816
答案 1 :(得分:1)
您想要的每一行都匹配由大写字母和下划线组成的单词的模式,然后是空格,然后是一个小数点的数字。所以这个grep
会过滤掉那些:
> file_raw <- readLines('file.txt')
> read.table(
text=paste(
file_raw[
grep("^[A-Z_].*\\s*\\.",file_raw)
],
collapse="\n"),
sep="",head=FALSE)
V1 V2
1 CKYC_MNSB 0.004211426
2 CORE_AMARNATH_ASP 8.752624510
3 CORE_AMBUJA 6.803894040
4 CORE_AMBUJA_ASP 10.008544900
5 CORE_ANAND_MERC_ASP 18.986633300
6 CORE_BALOTRA 17.828002900
7 CORE_BASODA 4.554321290
8 CORE_CHHAPI_ASP 11.976745600
9 CORE_DHANGDHRA_ASP 13.184997600
10 CORE_IDAR_ASP 13.320922900
11 CORE_JANTA_HALOL_ASP 12.795593300
12 CORE_JHALOD_URBAN_ASP 9.192199710
13 CORE_MANINAGAR 5.360900880
14 CORE_MANINAGAR_ASP 6.314147950
15 CORE_SANKHEDA 20.432983400
16 CORE_SMCB_ANAND_ASP 11.319152800
17 CORE_TARAPUR_ASP 8.246276860
18 CORE_VUCB 0.000610352
19 TBA_TEMP 5.399108890
20 TEST_DUNIA 4.156982420
21 TBAPROJ 33.273681600
请注意,如果您希望任何第一个令牌不与该模式匹配,例如CORE_999
或lower_case
,则需要调整模式。但是如果没有正式的规范,我们只能继续你提供的东西。