Python implementa múltiples listas almacenadas como CSV o Excel

Características:

Se pueden combinar y almacenar varias listas como csv o excel, y se pueden almacenar en filas y columnas.

No hay mucho bb directamente en el código, se ha encapsulado en una función, ¡y puede llamarlo directamente!

Supongamos que nuestros datos consisten en múltiples listas, lo cual es más común en situaciones del mundo real.

list1 = [1,2,3]
list2 = [4,5,6]
list3 = [7, 8, 9]

Al llamar a esta función, debemos encapsular estas listas en un diccionario: la clave en el diccionario es el nombre de la columna que se espera que muestre la lista esperada en csv/excel, y el valor es la lista que debe almacenarse

Data = {'one':list1, 'two':list2, 'three':list3}

Llamadas a funciones (almacenadas por columna):

Save_to_Csv(data = Data, file_name = 'demo', Save_format = 'csv',Save_type = 'col')

efecto de visualización:

Llamadas a funciones (almacenadas por fila):

Save_to_Csv(data = Data, file_name = 'demo', Save_format = 'csv',Save_type = 'row')

efecto de visualización:

Código:

def Save_to_Csv(data, file_name, Save_format = 'csv', Save_type = 'col'):
    # data
    # 输入为一个字典,格式: { '列名称': 数据,....} 
    # 列名即为CSV中数据对应的列名, 数据为一个列表
    
    # file_name 存储文件的名字
    # Save_format 为存储类型, 默认csv格式, 可改为 excel
    # Save_type 存储类型 默认按列存储, 否则按行存储
    
    # 默认存储在当前路径下
    
    import pandas as pd
    import numpy as np
    
    Name = []
    times = 0

    if Save_type == 'col':
        for name, List in data.items():
            Name.append(name)
            if times == 0:
                Data = np.array(List).reshape(-1,1)
            else:
                Data = np.hstack((Data, np.array(List).reshape(-1,1)))
                
            times += 1
            
        Pd_data = pd.DataFrame(columns=Name, data=Data) 
        
    else:
        for name, List in data.items():
            Name.append(name)
            if times == 0:
                Data = np.array(List)
            else:
                Data = np.vstack((Data, np.array(List)))
        
            times += 1
    
        Pd_data = pd.DataFrame(index=Name, data=Data)  
    
    if Save_format == 'csv':
        Pd_data.to_csv('./'+ file_name +'.csv',encoding='utf-8')
    else:
        Pd_data.to_excel('./'+ file_name +'.xls',encoding='utf-8')

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/jac_chao/article/details/115159468
Recomendado
Clasificación