Python 实现多个列表存储为CSV或者excel

本文介绍了一个Python函数,能将多个列表合并成CSV或Excel文件,支持按行或列存储。通过实例演示了如何使用字典指定列名和数据,并提供了函数调用及其显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能:

可实现多个列表合并后存储为csv或excel,按行按列存储都可!

不多bb直接上代码,已封装成函数,直接调用即可!

假设我们的数据为多个列表构成,这在现实情况中比较常见

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

在调用该函数时我们需要把这些列表封装成一个字典:字典中key为期望列表在csv/excel中期望显示的列名,value即为需要存储的列表

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

函数调用(按列存储):

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

显示效果:

函数调用(按行存储):

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

显示效果:

代码:

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')

 

 

 

 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Triumph++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值