Maison  >  Article  >  développement back-end  >  Comment lire correctement le fichier txt à l'aide de pandas

Comment lire correctement le fichier txt à l'aide de pandas

王林
王林original
2024-01-19 08:39:151843parcourir

Comment lire correctement le fichier txt à laide de pandas

Comment utiliser pandas pour lire correctement les fichiers txt nécessite des exemples de code spécifiques

Pandas est une bibliothèque d'analyse de données Python largement utilisée, qui peut être utilisée pour traiter une variété de types de données, notamment des fichiers CSV, des fichiers Excel, des bases de données SQL. , etc. En même temps, il peut également être utilisé pour lire des fichiers texte, tels que des fichiers txt. Cependant, lors de la lecture de fichiers txt, nous rencontrons parfois quelques problèmes, comme des problèmes d'encodage, des problèmes de délimiteur, etc. Cet article expliquera comment utiliser pandas pour lire correctement les fichiers txt et fournira des exemples de code spécifiques.

  1. Lire les fichiers txt ordinaires

Si vous souhaitez lire des fichiers txt ordinaires, il suffit d'utiliser la fonction read_csv dans pandas et de spécifier le chemin du fichier et le délimiteur. Voici un exemple :

import pandas as pd

# 读取txt文件
df = pd.read_csv('data.txt', sep='    ')

# 显示前5行数据
print(df.head())

Dans cet exemple, nous utilisons la fonction read_csv pour lire le fichier data.txt et spécifions le délimiteur comme caractère de tabulation, qui est ' ". Chaque ligne de données de ce fichier utilise des caractères de tabulation pour séparer les colonnes. Si nous ne spécifions pas de délimiteur, pandas utilise par défaut la virgule comme délimiteur.

  1. Lire les fichiers txt contenant du chinois

Lors de la lecture de fichiers txt contenant du chinois, nous devons faire attention aux problèmes d'encodage. Si l'encodage du fichier est utf-8, il suffit de spécifier la méthode d'encodage dans la fonction read_csv. Voici un exemple :

import pandas as pd

# 读取txt文件
df = pd.read_csv('data.txt', sep='    ', encoding='utf-8')

# 显示前5行数据
print(df.head())

Dans cet exemple, nous spécifions la méthode d'encodage comme utf-8 dans la fonction read_csv.

Cependant, si l'encodage du fichier n'est pas utf-8, nous devons convertir l'encodage du fichier en utf-8 avant de le lire. Par exemple, si l'encodage du fichier est gbk, nous pouvons utiliser le code suivant pour lire le fichier :

import pandas as pd

# 先将文件编码转换成utf-8
with open('data.txt', 'r', encoding='gbk') as f:
    text = f.read()
    text = text.encode('utf-8')
    with open('data_utf8.txt', 'wb') as f2:
        f2.write(text)

# 读取转换后的txt文件
df = pd.read_csv('data_utf8.txt', sep='    ', encoding='utf-8')

# 显示前5行数据
print(df.head())

Dans cet exemple, nous utilisons d'abord la fonction open pour ouvrir le fichier original et le convertir en un fichier encodé UTF-8. chaîne. Ensuite, nous utilisons la fonction open pour ouvrir un autre fichier et y écrire la chaîne convertie. Enfin, nous lisons le fichier txt converti, tout comme l'exemple précédent, en spécifiant le délimiteur en tabulation et l'encodage en utf-8.

  1. Lire les fichiers txt contenant des valeurs manquantes

Si le fichier txt contient des valeurs manquantes, nous pouvons utiliser le paramètre na_values ​​​​dans la fonction read_csv pour spécifier la représentation des valeurs manquantes. Par exemple, si les valeurs manquantes sont représentées par les caractères '#N/A', nous pouvons utiliser le code suivant pour lire le fichier :

import pandas as pd

# 读取txt文件,指定缺失值的表示方式为'#N/A'
df = pd.read_csv('data.txt', sep='    ', na_values='#N/A')

# 显示前5行数据
print(df.head())

Dans cet exemple, nous utilisons le paramètre na_values ​​​​dans la fonction read_csv pour spécifiez « #N/A » comme Comment représenter les valeurs manquantes. De cette manière, les pandas identifieront automatiquement ces valeurs comme NaN (valeurs manquantes), ce qui facilite notre traitement ultérieur des données.

  1. Lire les fichiers txt contenant la date et l'heure

Si le fichier txt contient des données au format date et heure, nous pouvons utiliser le paramètre parse_dates dans la fonction read_csv pour les convertir en types de date et d'heure dans les pandas. Par exemple, si le fichier contient une colonne nommée 'date' et que le format des données est 'aaaa-mm-jj', nous pouvons utiliser le code suivant pour lire le fichier :

import pandas as pd

# 读取txt文件,并将'date'列的数据转换成日期时间类型
df = pd.read_csv('data.txt', sep='    ', parse_dates=['date'])

# 显示前5行数据
print(df.head())

Dans cet exemple, nous utilisons la fonction read_csv Utiliser le paramètre parse_dates pour spécifier que les données de la colonne « date » doivent être converties en un type date et heure. De cette façon, les pandas les convertiront automatiquement en types Datetime pour faciliter notre traitement ultérieur des données.

En résumé, nous pouvons utiliser la fonction read_csv dans pandas pour lire les fichiers txt et apporter les solutions correspondantes à différents problèmes. Dans le même temps, nous devons également prêter attention à certains détails, tels que la méthode d'encodage, la méthode de représentation des valeurs manquantes, le format de la date et de l'heure, etc.

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