我有一份从海洋仪器卸载下来的文件列表。由于某些原因,偶尔会在应该是ASCII字符的地方插入非ASCII字符。我发现在经度记录中应该用W表示西半球时,出现了grave-E(È)。
以下是数据的样式:
CUMSECS Date UTC Time UTC Date Local Time local Z (m) Target Z Z Bot Temp PAR Salin Ang VelX Ang VelY Ang VelZ Pump + Pump - Gctr Fix secs Date UTC Time UTC Date Local Time Local Lat LatD Latm Lon LonD Lonm DOP Temp PAR Salin Batt V CMD secs Date Local Time Local No. Cmds
526068034 09/01/16 18:00:34 09/01/16 11:00:34 3.75 2.69
3.75 0.29 0.000000 0.00 -12 -70 -50 0 5 10
526068039 09/01/16 18:00:39 09/01/16 11:00:39 3.75 2.69
3.75 0.29 0.000000 0.00 -12 -70 -50 0 5 10
526068044 09/01/16 18:00:44 09/01/16 11:00:44 3.74 2.69
3.75 0.29 0.000000 0.00 -12 -70 -50 0 5 10
526068049 09/01/16 18:00:49 09/01/16 11:00:49 3.73 2.69
3.75 0.29 0.000000 0.00 -30732 13588 31909 60399 7538 -82
543622771 03/23/17 22:19:31 03/23/17 15:19:31 38.31877 38
19.1262 N 123.07136 123 4.2812 È 23.6 115.06 0.0000 96.00
121.718
547764151 05/10/17 20:42:31 05/10/17 13:42:31 0.03 16.00
127.00 13.68 1074.904320 33.56 -4908 -3976 261 1 0 0
547764152 05/10/17 20:42:32 05/10/17 13:42:32 0.00 16.00
127.00 13.68 1074.904320 33.56 -4908 -3976 261 1 0 0
我可以使用以下Bash命令找到非ASCII字符:
pcregrep -n '[^\x00-\x7F]' 170510_ocean_Copepod.txt
我想循环处理一系列文件,查找这些字符,并将它们替换为“W”,以便随后批量读取并处理这些文件。或者,解决R在尝试读取这些文件时返回的错误("multibyte string in location..."),也同样可行。非常感谢您的帮助。
read.table
函数中的fileEncoding
参数吗? - Scarabee<file>
文件中的所有字符 'È' 替换为 'W',然后通过标准输出打印出来。 - Jack