我想将xls文件读入R并选择特定的列。例如,我只希望第1到10列和第5-700行。我认为您可以使用xlsx进行此操作,但是我不能在使用的网络上使用该库。我可以使用另一个软件包吗?我该如何选择想要的列和行?
谢谢
答案 0 :(得分:2)
由于无法领导package TestScripts;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class TestSemiCustom {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "C:/geckodriver/geckodriver-v0.21.0-win64/geckodriver.exe");
//System.setProperty("webdriver.chrome.driver", "C:\\Users\\Hassan\\Documents\\eclipseworkspace\\WebDriverProject\\lib\\chromedriver.exe");
WebDriver driver = new FirefoxDriver();
//driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS);
driver.get("http://www.example.com/");
driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS);
String oldTab = driver.getWindowHandle();
Actions action= new Actions(driver);
List<WebElement> socialMediaIcons = driver.findElements(By.xpath("//*[@id='ImageUrlNavigate']"));
System.out.println("Size of list = " + socialMediaIcons.size());
for (WebElement AllSocial : socialMediaIcons)
{
String Name = AllSocial.getAttribute("href");
System.out.println(Name);
AllSocial.click();
}
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
action.keyDown(Keys.CONTROL).keyDown(Keys.SHIFT).sendKeys(Keys.TAB).build().perform();
}
}
软件包,您可能需要考虑使用xlsx
R并使用base
。为此,请将Excel文件另存为csv。有关如何执行此操作的说明可以在网上轻松找到。请注意,csv文件仍然可以用Excel打开。
这些是仅读取第二和第三列和行所需要执行的步骤。
read.csv
这是我使用的示例数据。
hd = read.csv('a.csv', header=F, nrows=1, as.is=T) # first read headers
removeCols <- c('NULL', NA, NA) #define which columns to keep/remove
df <- read.csv('a.csv', skip=2, header=F, colClasses=removeCols) #skip says which rows not to read
colnames(df) <- hd[is.na(removeCols)]
df
two three
1 5 8
2 6 9
答案 1 :(得分:1)
您可以尝试以下方法:
const test= new Map();
test.set('isZero', (v) => console.log(v === 0));
test.set('isNumber', (v) => console.log(typeof v === 'number'));
const value = 10;
for(let [key, fn] of test){
// console.warn(key);
fn(value);
}