Python把一个列表中的元素按指定数目分成多个列表的方式

#方法一  

def list_of_groups(init_list, children_list_len):
    """
    :param init_list: 原列表
    :param children_list_len: 指定切割的子列表的长度(就是你要分成几份)
    :return: 新列表
    """
    list_of_groups = zip(*(iter(init_list),) * children_list_len)
    end_list = [list(i) for i in list_of_groups]
    count = len(init_list) % children_list_len
    end_list.append(init_list[-count:]) if count != 0 else end_list
    return end_list

#方法二

import numpy as np
# writer_list是写入的列表  reshape(行,列)
arr = np.array(writer_list).reshape(10, 8)

推荐方法二,方便快捷,当然,这也得按实际情况分析

实例:

import numpy as np

writer_list = [i for i in range(80)]
print(writer_list)

print('-'*66)

arr = np.array(writer_list).reshape(10, 8)
print(arr)


需求情况:我需要将10个模型按照8个买卖类型再根据市场分类15个情况得到的数据写入到csv或者excel文件中。

writer_list  返回一个大列表,大列表中的元素是每个模型买卖类型的数据,一个元素有15条数据。这就是要写入的数据类型,总之就是要把(1200条)数据全部提取出来变成一个大列表,然后每隔120个数据就成一个小列表。我想要的数据类型是8列,120行,写入excel文件中是根据你的行踪来写入的,影响可视化,所以写入所以要转置。

不得不夸numpy和pandas就是牛,转换很快的

arr = np.array(writer_list).reshape(10, 120)
print(arr)
print('-'*66)
# 数组倒置
data = pd.DataFrame(arr.T)
data.to_excel('./123.xlsx')
print('程序运行成功!!')

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要导入csv文件并实现自动分多个sheet,可以使用Python的pandas库和openpyxl库来完成。 首先,使用pandas的read_csv函数读取csv文件,并将数据存储在一个DataFrame对象。例如,假设csv文件名为data.csv,可以使用以下代码导入数据: import pandas as pd data = pd.read_csv('data.csv') 接下来,我们可以使用pandas的ExcelWriter类和openpyxl库来将数据写入Excel文件。在创建ExcelWriter对象时,可以设置参数engine='openpyxl',以确保使用openpyxl库进行Excel文件的写操作。例如: from openpyxl import Workbook writer = pd.ExcelWriter('output.xlsx', engine='openpyxl') 然后,我们可以使用pandas的to_excel函数将数据写入Excel文件。要实现自动分多个sheet,可以使用pandas的数据切片功能来按一定数量的记录将数据分成多个DataFrame对象,然后将每个DataFrame对象写入不同的sheet。以下是一个示例代码: sheet_size = 65536 # 每个sheet的最大记录数 num_sheets = len(data) // sheet_size + 1 # 计算需要的sheet数目 for i in range(num_sheets): start_index = i * sheet_size end_index = (i + 1) * sheet_size sheet_data = data.iloc[start_index:end_index] sheet_data.to_excel(writer, sheet_name='Sheet%s' % (i + 1), index=False) 最后,使用ExcelWriter对象的save方法保存Excel文件并关闭writer对象。代码如下: writer.save() writer.close() 以上就是使用Python导入csv文件并将超过65536条记录自动分多个sheet的方法。这样可以将原始数据分隔并保存到多个sheet,以适应Excel的限制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值