0
votes

Comment lire les 100 premières rangées d'un fichier CSV dans Python Ajout de la virgule, du numéro de série et des marques d'arrêt complètes?

Supposons que je reçois 2 colonnes et 3000 lignes dans un fichier .csv. Je veux lire uniquement les 100 premières lignes du fichier CSV, où j'ai besoin d'appendre une marque de virgule (, ) après la première colonne et devez injecter une butée complète (. ) pour conclure la ligne. Y a-t-il un moyen d'obtenir la même chose. De plus, je dois inclure le numéro de série avant de lire la première ligne. Comment réaliser cela?

Format d'entrée: xxx

sortie: xxx

code que j'ai essayé est aussi suit. xxx


9 commentaires

Je commencerais avec désen-duplication rangée que vous l'utilisez à l'intérieur de la boucle pour la boucle, ainsi que dans les instructions de jointure pour la boucle - cela peut être déroutant.


Et pourquoi iTeragez-vous via Islice sur MyCSV et utilisez-le également à l'intérieur de la déclaration - cela n'a aucun sens?


D'accord. Merci Patrick J'essaie et nouveau dans le fichier CSV à l'aide de Python


Regardez dans énumérer (itérable) pour votre "numéro de série"


Votre Tabstops CSV est-il séparé?


@Patrickartner. Non, ce n'est pas tabstop séparé.


Désolé, Patrick. Je n'ai pas eu vos mots à juste titre, comme je vous l'ai dit que je suis absolument nouveau dedans.


CSV = Valeurs séparées du côlon - Vos données n'ont pas de points de couleur. Par ce que identifiant est vos données séparées? Habituellement, c'est l'un des espaces, du côlon, du point-virgule, du tuyau ou du tabstop. Ou vous avez un fichier de largeur fixe où la 1ère colonne est F.e. 20 Chars Large, les seconde 10 charrs large, etc. Cela n'a rien à voir avec Python du tout.


Laissez-nous Continuez cette discussion en chat .


3 Réponses :


0
votes

Utilisation simple Bibliothèque Pandas:

            question          answer number                          summary
0  what is your name       i am maxi      1  1. what is your name, i am maxi.
1      are you happy        yes i am      2       2. are you happy, yes i am.
2       what you do   i am a student      3  3. what you do , i am a student.


3 commentaires

Merci Zaraki. Comment définir le df avec pd.dataframe si j'ai 1000 lignes?


ne répond pas la fractionnement à la largeur fixe, ne fournit pas l'énumération, n'utilise pas le CSV du tout


@Mishras Si vous CSV contient 2 colonnes, puis chargez simplement des données à l'aide de df = pd.read_csv ("data.csv")



2
votes

En supposant que les champs cruciaux soient séparés par plusieurs espaces: xxx

regex \ s {2,} Détails:

  • \ s - caractère blanche
  • {2,} - {n, m} où n> = 0 et m> = n . Répète l'élément précédent entre n et m fois. Gourmand, donc répéter m est essayé avant de réduire la répétition à n fois. Ex. a {2,4} correspondant aaaa , aaa ou aa

    sortie d'échantillon: xxx


4 commentaires

Merci romain. Je ne reçois pas (,) après le col 1 et pas une butée complète (.) Après la colonne 2 pour chaque 2. Reste, tout va bien.


@Mishras, ok, corrigé. Voir la mise à jour. Si vous "ne recevez pas (,) après Col 1" - alors, vous avez un texte d'entrée différent qui diffère de celui que vous avez posté - cause que j'ai utilisé votre texte littéralement


Voulez-vous s'il vous plaît expliquer moi le regex que vous avez utilisé.


@Mishras, oui, voir l'explication



2
votes

une variante de non réégyte de Réponse de RomanPerekhrest :

Créer des données de démonstration: strong> xxx pré>

Données de processus: strong> p> xxx pré>

SORTIE: STRUT> P>

1. what is your name, i am maxi.
2. are you happy, yes i am.
3. what you do, i am a student.
4. what is your name, i am maxi.
5. are you happy, yes i am.
6. what you do, i am a student.
7. what is your name, i am maxi.
8. are you happy, yes i am.
9. what you do, i am a student.
10. what is your name, i am maxi.


0 commentaires