2017-09-20 7 views
-1

Je viens de commencer à apprendre openrefine il y a 20 minutes. J'ai un fichier texte avec des données qui sont séparées par un en-tête cohérent ("JP") au début de chaque morceau de données. Les morceaux de données ne sont pas tous le même nombre de lignes. Je veux que chaque morceau des données d'origine soit sur 1 ligne dans openrefine. Comment puis je faire ça?Créer des colonnes à partir d'un fichier séparé par une ligne

Éditer: Voici un exemple. Il est un fichier assez désordonné, mais je peux compter sur le JP au début de chaque entrée distincte ..

JP 
0034 
1-25-60 
01 
checked 1/92 

I am so happy to have taken these. The brown envelopes, blah blah. roll 1: Is a retirement event [EW] 
JP 
0035 
2-1-60 
01 
checked 1/92 

Bill therapy 

JP 
0036 
2-11-60 
01 
Checked 1/92 

Bill: there are many 

EW: The bills look good. 

I remember Babies used to look like this everyday, with the staff coming and going, all nice and professional. 
JP 
0037 
2-11-60 
01 

checked 1/92 
BLAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH. blah blah blah blah bal… 
oops>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

again 

JP 
0039 
2-11-60 
01 
checked 1/92 

JP 
0041 
3-14-60 
+0

votre question serait beaucoup plus clair avec un exemple – pintoch

+0

+1 à pintoch - Pouvez-vous envoyer quelques exemples de données? Je ne suis pas clair si 'JP' est un séparateur entre les lignes ou entre les champs, et comment cela se rapporte à l'idée qu'il s'agit d'un 'fichier séparé par ligne' –

+0

J'ai ajouté un échantillon dans la question initiale. C'est un fichier malpropre que j'ai besoin de traiter. Je veux juste une rangée pour toutes les lignes entre les "JP". Je veux une colonne pour chaque ligne. Certaines lignes auront plus de colonnes que d'autres. C'est correct dans ce contexte. –

Répondre

0

Voici un exemple de solution.

1 Ouvrez votre texte dans Open Refine en choisissant l'option "Texte basé sur une ligne" et décochez la case "stocker les lignes vides";

2 dans la colonne unique de votre projet, utilisez un filtre de texte pour isoler les lignes contenant les mots "JP";

3 Créez une colonne basée sur cette colonne filtrée et déplacez-la au début;

4 Supprimer les mots JP dans le premier (Transform -> null);

5 Utilisez "Joindre des cellules à plusieurs valeurs" dans la colonne d'origine en spécifiant un espace comme séparateur.

Tout cela sera beaucoup plus clair avec un screencast.

enter image description here

+0

Wow, merci! Question: A l'étape 4, joindre une cellule à valeurs multiples bloque tout dans une cellule. Comment puis-je conserver les cellules, mais les avoir toujours sur la rangée à laquelle elles appartiennent, comme vous l'avez? –

+0

Je l'ai fait en ajoutant "END" à chaque cellule dans la deuxième colonne. Ensuite, après avoir rejoint les cellules, je les ai divisées en colonnes en utilisant "END" comme diviseur. Merci! –

+0

De rien. Ne pas oublier d'accepter la réponse si elle semble correcte, afin que nous puissions fermer le sujet. –