Python Pandas - Herramientas IO

los Pandas I/O API es un conjunto de funciones de lectura de nivel superior a las que se accede como pd.read_csv() que generalmente devuelven un objeto Pandas.

Las dos funciones de caballo de batalla para leer archivos de texto (o los archivos planos) son read_csv() y read_table(). Ambos usan el mismo código de análisis para convertir inteligentemente datos tabulares en unDataFrame objeto -

pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',
names=None, index_col=None, usecols=None
pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer',
names=None, index_col=None, usecols=None

Así es como csv los datos del archivo se parecen a:

S.No,Name,Age,City,Salary
1,Tom,28,Toronto,20000
2,Lee,32,HongKong,3000
3,Steven,43,Bay Area,8300
4,Ram,38,Hyderabad,3900

Guarde estos datos como temp.csv y realizar operaciones en él.

S.No,Name,Age,City,Salary
1,Tom,28,Toronto,20000
2,Lee,32,HongKong,3000
3,Steven,43,Bay Area,8300
4,Ram,38,Hyderabad,3900

Guarde estos datos como temp.csv y realizar operaciones en él.

read.csv

read.csv lee datos de los archivos csv y crea un objeto DataFrame.

import pandas as pd

df=pd.read_csv("temp.csv")
print df

Sus output es como sigue -

S.No     Name   Age       City   Salary
0     1      Tom    28    Toronto    20000
1     2      Lee    32   HongKong     3000
2     3   Steven    43   Bay Area     8300
3     4      Ram    38  Hyderabad     3900

índice personalizado

Esto especifica una columna en el archivo csv para personalizar el índice usando index_col.

import pandas as pd

df=pd.read_csv("temp.csv",index_col=['S.No'])
print df

Sus output es como sigue -

S.No   Name   Age       City   Salary
1       Tom    28    Toronto    20000
2       Lee    32   HongKong     3000
3    Steven    43   Bay Area     8300
4       Ram    38  Hyderabad     3900

Convertidores

dtype de las columnas se puede pasar como un dict.

import pandas as pd

df = pd.read_csv("temp.csv", dtype={'Salary': np.float64})
print df.dtypes

Sus output es como sigue -

S.No       int64
Name      object
Age        int64
City      object
Salary   float64
dtype: object

Por defecto, el dtype de la columna Salario es int, pero el resultado lo muestra como float porque hemos lanzado explícitamente el tipo.

Por lo tanto, los datos parecen flotantes:

S.No   Name   Age      City    Salary
0   1     Tom   28    Toronto   20000.0
1   2     Lee   32   HongKong    3000.0
2   3  Steven   43   Bay Area    8300.0
3   4     Ram   38  Hyderabad    3900.0

header_names

Especifique los nombres del encabezado utilizando el argumento de nombres.

import pandas as pd
 
df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
print df

Sus output es como sigue -

a        b    c           d        e
0   S.No     Name   Age       City   Salary
1      1      Tom   28     Toronto    20000
2      2      Lee   32    HongKong     3000
3      3   Steven   43    Bay Area     8300
4      4      Ram   38   Hyderabad     3900

Observe, los nombres de los encabezados se agregan con los nombres personalizados, pero el encabezado del archivo no se ha eliminado. Ahora, usamos el argumento del encabezado para eliminar eso.

Si el encabezado está en una fila que no sea la primera, pase el número de fila al encabezado. Esto omitirá las filas anteriores.

import pandas as pd 

df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0)
print df

Sus output es como sigue -

a        b    c           d        e
0  S.No     Name   Age       City   Salary
1     1      Tom   28     Toronto    20000
2     2      Lee   32    HongKong     3000
3     3   Steven   43    Bay Area     8300
4     4      Ram   38   Hyderabad     3900

saltos

skiprows omite el número de filas especificado.

import pandas as pd

df=pd.read_csv("temp.csv", skiprows=2)
print df

Sus output es como sigue -

2      Lee   32    HongKong   3000
0   3   Steven   43    Bay Area   8300
1   4      Ram   38   Hyderabad   3900