2017-08-17 1 views
1

J'ai un fichier texte contenant 130 tables, séparées par le délimiteur ' DLM'. J'ai essayé d'utiliser le paquet reader dans R et défini le délimiteur par défaut comme suit, mais il lit toujours le fichier entier. Est-il possible d'analyser le fichier et de ne lire que les lignes spécifiques au nom de la table? Analyse d'un fichier texte contenant plusieurs sections dans R

reader::reader("Path_to_file.txt", def= "\\' DLM'", one.byte = FALSE) 
Par exemple, si je spécifie 'B2', puis-je lire uniquement les lignes du tableau B2? Je n'arrive pas à contourner le problème du délimiteur dans le lecteur. Toute aide est appréciée!

ensemble de données de l'échantillon:

'A1',2018,10,'655033655206 1',,,81, 
'A1',2019,4,'655033655206 1',,,63, 
'A1',2011,1,'655034655045 1',.03486,.05829,52, 


' DLM','B2',2011,1,'5BON AQUA TP',361239,161,,,0, 
'B2',2001,1,'5BON AQUA TN',361240,161,22.7,4.97,0, 
'B2',2002,1,'5CON FIRE TN',363240,161,22.7,4.97,0, 


' DLM','C1','CGDF09', 
'C1','W XYZ', 
'C1','A BCD', 

Répondre

1

Peut-être essayer de retirer delimiter et vérifiez que la ligne commence par 'B2'? Vous pouvez utiliser cette fonction de stringi package:

stri_startswith_fixed(c("A1,1,2,3","B2,3,4,5","C2,3,,5"), "B2") 
# [1] FALSE TRUE FALSE 
+1

Merci, ce vraiment aidé. J'étais capable d'analyser la table en fonction de la correspondance de chaîne. L'en-tête de chaque table doit être obtenu de manière légèrement différente, car il se trouve sur la même ligne que le délimiteur 'DLM'. –

+0

Si la réponse vous a aidé, vous pouvez l'accepter et la mettre à jour. :) – bartektartanus

+1

Je l'ai accepté il y a une heure; Je vais upvote maintenant :) –