r - 在 R 中跳过 read.csv 中的一些行

标签 r csv readfile

我有一个使用以下函数读取的 csv 文件:

csvData <- read.csv(file="pf.csv", colClasses=c(NA, NA,"NULL",NA,"NULL",NA,"NULL","NULL","NULL"))
dimnames(csvData)[[2]]<- c("portfolio", "date", "ticker", "quantity")

它从该文件中读取所有行。但我想从阅读中跳过一些行。如果 ticker 的值不应该读取该行-列是:ABTADCT .是否可以?

我的 csv 文件示例如下:
RUS1000,01/29/1999,21st Centy Ins Group,TW.Z,90130N10,72096,1527.534,0.01,21.188
RUS1000,01/29/1999,3com Corp,COMS,88553510,358764,16861.908,0.16,47.000
RUS1000,01/29/1999,3m Co,MMM,88579Y10,401346,31154.482,0.29,77.625
RUS1000,01/29/1999,A D C Telecommunicat,ADCT,00088630,135114,5379.226,0.05,39.813
RUS1000,01/29/1999,Abbott Labs,ABT,00282410,1517621,70474.523,0.66,46.438
RUS1000,02/26/1999,21st Centy Ins Group,TW.Z,90130N10,72096,1378.836,0.01,19.125
RUS1000,02/26/1999,3com Corp,COMS,88553510,358764,11278.644,0.11,31.438
RUS1000,02/26/1999,3m Co,MMM,88579Y10,402146,29783.938,0.29,74.063 

最佳答案

可以使用 sqldf package , 使用 read.csv.sql
让我们说 sample.csv 的内容看起来像这样:

id,name,age
1,"a",23
2,"b",24
3,"c",23

现在只读取 age=23 的行:
require(sqldf)

df <- read.csv.sql("sample.csv", "select * from file where age=23")

df
  id name age
1  1  "a"  23
2  3  "c"  23

可以选择必要的列:
df <- read.csv.sql("sample.csv", "select id, name from file where age=23")
df
  id name
1  1  "a"
2  3  "c"

关于r - 在 R 中跳过 read.csv 中的一些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15967226/

相关文章:

r - 如何自定义外部函数和矢量化函数?

regex - 匹配所有内容直到括号

sql-server - 如何在不渲染的情况下将 SSRS 报告直接导出到 csv

php - 将utf8字符导入MYSQL

bash - 从文件中读取行然后使用这些值搜索不同的文件

r - 使用 length 和 integer(0) 测试条件表达式

r - 如果 1 个 reducer (RHadoop)的数据变大怎么办?

Python从文件中提取部分信息

python - 计算行数后无法读取文件数据

c - 用 C 从串口读取,ReadFile 可能有问题?