Maison  >  Article  >  développement back-end  >  Comment utiliser Python pour lire et traiter les suffixes de fichiers ?

Comment utiliser Python pour lire et traiter les suffixes de fichiers ?

零下一度
零下一度original
2017-06-27 09:56:581765parcourir

Lorsque j'analysais un projet récemment, j'ai vu un fichier de données avec le suffixe ".sqlite". Comme je n'étais pas entré en contact avec lui auparavant, je réfléchissais à la façon d'utiliser python pour l'ouvrir. et effectuer l'analyse et le traitement des données, j'ai donc fait une petite recherche.

SQLite est une base de données relationnelle très populaire qui est utilisée par un grand nombre d'applications car elle est très légère.

Comme les fichiers csv, SQLite peut stocker des données dans un seul fichier de données pour un partage facile avec d'autres personnes. De nombreux langages de programmation prennent en charge le traitement des données SQLite, et le langage python ne fait pas exception.

sqlite3 est une bibliothèque standard de python qui peut être utilisée pour traiter les bases de données SQLite.

Utilisez sqlite3 pour créer et exploiter des fichiers de base de données

Pour les instructions SQL de la base de données, cet article utilisera les instructions SQL les plus basiques, ce qui ne devrait pas affecter la lecture. Si vous souhaitez en savoir plus, vous pouvez vous référer au site suivant :

Ensuite, nous appliquerons le module salite3 pour créer des fichiers de données SQLite et effectuer des opérations de lecture et d'écriture de données. Les principales étapes sont les suivantes :

  1. Établir une connexion avec la base de données et créer un fichier de base de données (fichier .sqlite)

  2. Créer un curseur

  3. Créer une table de données (table)

  4. Insérer des données dans la table de données

  5. Requête data

Le code de démonstration est le suivant :

import sqlite3with sqlite3.connect('test_database.sqlite') as con:
    c = con.cursor()
    c.execute('''CREATE TABLE test_table
    (date text, city text, value real)''')for table in c.execute("SELECT name FROM sqlite_master WHERE type='table'"):
        print("Table", table[0])
    c.execute('''INSERT INTO test_table VALUES
    ('2017-6-25', 'bj', 100)''')
    c.execute('''INSERT INTO test_table VALUES
    ('2017-6-25', 'pydataroad', 150)''')
    c.execute("SELECT * FROM test_table")
    print(c.fetchall())
Table test_table
[('2017-6-25', 'bj', 100.0), ('2017-6-25', 'pydataroad', 150.0)]

Concernant l'aperçu visuel des données dans la base de données SQLite, il existe de nombreux outils qui peuvent être implémenté. J'utilise SQLite Studio ici. C'est un outil gratuit qui ne nécessite pas d'installation. Vous pouvez l'utiliser après l'avoir téléchargé. Les étudiants intéressés peuvent se référer au lien ci-dessous.

https://sqlitestudio.pl/index.rvt?act=download

L'effet de l'aperçu des données est le suivant :

Utilisez des pandas pour lire les fichiers de données SQLite

Comme le montrent les résultats d'exécution du code ci-dessus, le résultat de la requête de données est une liste composée de tuples. Les données de liste de Python peuvent être peu pratiques pour un traitement et une analyse ultérieurs des données. Vous pouvez imaginer que s'il y a 1 million de lignes de données ou plus dans la table de base de données, l'efficacité du parcours de la liste pour obtenir les données sera relativement faible.

À l'heure actuelle, nous pouvons envisager d'utiliser les fonctions fournies par pandas pour lire les informations de données pertinentes du fichier de base de données SQLite et les enregistrer dans un DataFrame pour faciliter le traitement ultérieur.

Pandas fournit deux fonctions, qui peuvent toutes deux lire des informations à partir de fichiers de données portant le suffixe ".sqlite".

  • read_sql()

  • read_sql_query()

import pandas as pdwith sqlite3.connect('test_database.sqlite') as con:# read_sql_query和read_sql都能通过SQL语句从数据库文件中获取数据信息df = pd.read_sql_query("SELECT * FROM test_table", con=con)# df = pd.read_sql("SELECT * FROM test_table", con=con)print(df.shape)
    print(df.dtypes)
    print(df.head())
<code style="font-size: 14px; font-family: Roboto, 'Courier New', Consolas, Inconsolata, Courier, monospace; margin: auto 5px; white-space: pre; border-radius: 3px; display: block !important; overflow: auto; padding: 1px;">(2, 3)
date      object
city      object
value    float64
dtype: object
        date        city  value
0  2017-6-25          bj  100.0
1  2017-6-25  pydataroad  150.0<br></code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn