我有一个excel文件包含两张表。 第1张是
Col.1 Col.2 Col.3 Col.4 Col.5 Col.6 Col.7 Col.8
1 1 2 3 4 5 6 7 8
2 6 7 8 9 10 11 12 13
3 11 12 13 14 15 16 17 18
4 16 17 18 19 20 21 22 23
5 21 22 23 24 25 26 27 28
6 26 27 28 29 30 31 32 33
7 31 32 33 34 35 36 37 38
8 36 37 38 39 40 41 42 43
9 41 42 43 44 45 46 47 48
10 46 47 48 49 50 51 52 53
表2包含
starInterval endInterval
1 10
51 70
21 30
现在我想从表2中选择第一行,并在表1的第8列中搜索是否在1到10之间找到值,删除整行,然后在表2中选择2行并继续。你知道吗
我在R中写的代码是
File1 = loadWorkbook("exp.xlsx") # read file
IntervalSheet = readWorksheet(File1, sheet = 2) #read sheet 2
File1.Rows = nrow(IntervalSheet)
StartInterval = IntervalSheet[,1]
EndInterval = IntervalSheet[,2]
#read sheet 1 in which we have to delete the rows
MalwareSheet = readWorksheet(File1, sheet = 1)
Malware.Sheet.Rows = nrow(MalwareSheet)
for (i in 1:File1.Rows )
{
# value selection from interval sheet
startvalue = StartInterval[i]
endvalue = EndInterval[i]
for (j in 1:Malware.Sheet.Rows)
{
d<-MalwareSheet[!(MalwareSheet$col.8 >= startvalue & MalwareSheet$col.8 <= endvalue),]
print (d)
j= j+1
}
i = i+1
}
d
它还我。。。。。。你知道吗
[1] Col.1 Col.2 Col.3 Col.4 Col.5 Col.6 Col.7 Col.8
<0 rows> (or 0-length row.names)
但我期待着结果
Col.1 Col.2 Col.3 Col.4 Col.5 Col.6 Col.7 Col.8
2 6 7 8 9 10 11 12 13
3 11 12 13 14 15 16 17 18
6 26 27 28 29 30 31 32 33
7 31 32 33 34 35 36 37 38
8 36 37 38 39 40 41 42 43
9 41 42 43 44 45 46 47 48
这是一个样本表,我有一个大数据约21000行有,这就是为什么我想做它与编程的帮助。如果在python中有可能,那么也建议我
在
R
中,我们循环遍历第二个数据集的行序列,如果第二个数据集的每一行的“Col.8”值是从“starInterval”到“endInterval”的值序列,则删除这些行,并更新第一个数据集其中'df1和'df2'是使用
readxl
或XLConnect
或其中一个包读取的excel数据的第一页和第二页数据
相关问题 更多 >
编程相关推荐