Extraction de données
Résolu/Fermé
RomainGA
Messages postés
110
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
19 mai 2024
-
3 avril 2018 à 14:42
RomainGA Messages postés 110 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 19 mai 2024 - 3 avril 2018 à 16:05
RomainGA Messages postés 110 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 19 mai 2024 - 3 avril 2018 à 16:05
A voir également:
- Extraction de données
- Reinstaller windows sans perte de données - Guide
- Effacer les données de navigation - Guide
- Comment sauvegarder toutes les données de mon téléphone - Guide
- Excel reporter des données sur une autre feuille avec conditions - Forum Excel
- Liste de données excel - Guide
2 réponses
RomainGA
Messages postés
110
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
19 mai 2024
6
3 avril 2018 à 15:04
3 avril 2018 à 15:04
Ah, j'ai failli oublié de vous prévenir:
je penses qu'il faut utilisé la fonction count() mais je n'arrive pas a l'employé.
Merci.
je penses qu'il faut utilisé la fonction count() mais je n'arrive pas a l'employé.
Merci.
Bonjour.
D'où viennent ces données ? Avec quel module python ?
En partant de la chaîne de sortie.
Une simple utilisation de str.find sur le @ et le : avec un slice permet de récupérér le pseudo.
Mais la solution de regarder s'il y a un RT dans la ligne n'est pas très sûre puisque cette chaîne de caractères peut se trouver dans un message.
Il faudrait mieux éclater la ligne avec str.split et regarder si le 2nd élément vaut RT.
Et pour enlever les carcatères @ et : du pseudo, un str.strip suffira.
D'où viennent ces données ? Avec quel module python ?
En partant de la chaîne de sortie.
>>> s = '''0 RT @chaeyeonbot: Congratulations to DIA's Mann... ... 1 RT @infoCinelandia: These are the Latin Americ... ... 2 RT @GMA: "I owe this, and so much more, to so ... ... 3 RT @infoCinelandia: These are the Latin Americ... ... 4 @KobeBryant and @GlenKeanePrd, winners of the ...''' >>> >>> s.count('RT') 4 >>> for ligne in s.splitlines(): ... if 'RT' in ligne: ... pseudo = ligne[ligne.find('@')+1:ligne.find(':')] ... print(pseudo) ... chaeyeonbot infoCinelandia GMA infoCinelandia
Une simple utilisation de str.find sur le @ et le : avec un slice permet de récupérér le pseudo.
Mais la solution de regarder s'il y a un RT dans la ligne n'est pas très sûre puisque cette chaîne de caractères peut se trouver dans un message.
Il faudrait mieux éclater la ligne avec str.split et regarder si le 2nd élément vaut RT.
Et pour enlever les carcatères @ et : du pseudo, un str.strip suffira.
RomainGA
Messages postés
110
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
19 mai 2024
6
Modifié le 3 avril 2018 à 16:06
Modifié le 3 avril 2018 à 16:06
Merci pour cette réponse très complète.
les données proviennent d'un json placé sur mon ordi (cf data)
Cordialement.
Romain.
les données proviennent d'un json placé sur mon ordi (cf data)
import pandas as pd
pd.set_option('display.height', 10000)
pd.set_option('display.max_rows', 5000)
pd.set_option('display.max_columns', 5000)
pd.set_option('display.width', 10000)
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
import warnings
warnings.filterwarnings("ignore")
import json
from datetime import datetime
data = pd.read_json(r'C:\Users\Romain\Downloads\file_2018-3-23-13.json')
datas = (pd.DataFrame.from_dict(data, orient='columns'))
datas
Cordialement.
Romain.