繁体   English   中英

仅使用read.table跳过非ASCII字符

[英]Skip only Non ASCII character with read.table

我有一个带有非ASCII字符的csv文件。 我只想删除这些字符并读取我的csv文件。

> tables <- lapply('/.././abc.csv', read.csv,header=F,stringsAsFactors=FALSE,fileEncoding="UTF-8")
Warning message:
In scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  :
  invalid input found on input connection '/.././abc.csv'
> df= suppressWarnings(do.call(rbind, tables)) 

它没有读取完整的文件。 它仅读取非ASCII字符之前的记录。 在非ASCII字符之后,它已跳过所有记录。

我不能使用iconv('/.././abc.csv', "latin1", "ASCII", sub="")因为它期望x为向量。

cat '/.././abc.csv'
88036,120,151036.656250,2017-07-17 22:27:49,17-07-17 22:27:49
88036,120,151036.671875,2017-07-17 22:27:53,17-07-17 22:27:53
88036,310,151036.687500,2017-07-17 22:27:58,17-07-17 22:27:58
88036,310,151036.703▒▒F▒▒B▒▒▒D▒%▒▒▒2▒T▒▒K222642,17-07-17 22:28:03,2017-07-17 22:28:03
88036,310,151036.484375,2017-07-17 22:26:54,17-07-17 22:26:54
88036,310,151036.500000,2017-07-17 22:26:59,17-07-17 22:26:59

读取CSV文件后,它将跳过最后2条记录。 任何帮助。

如果先阅读然后再做该怎么办

td <- td[,lapply(.SD,function(x){ iconv(x, "latin1", "ASCII", sub="")})]

假设您将csv文件作为data.table

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM