用python将csv转excel (.xls和.xlsx)的几种方式

简介: 用python将csv转excel (.xls和.xlsx)的几种方式

excel 后缀有2种格式, .xls 是从 Excel 97 到 Excel 2003 的默认文件格式,而 .xlsx 是 Excel 2007 及更高版本的默认文件格式。
.xlsx和.xls格式的主要区别在于,.xls格式单个工作表最多支持65536行,256列。
.xlsx格式最多支持1048576行,16384列。
此外就是,存储同样多的数据,.xlsx格式文件更小。基本就这两点区别。

处理excel

python 可以使用xlrd,xlrwt,openpyxl,xlwings,pandas 等库操作 Excel 。

xlwt 操作

使用xlwt 操作 excel, 保存 .xls 后缀的文件

import xlwt


def csv_xls(filename, xlsname):
    f = open(filename, 'r', encoding='utf-8')
    xls = xlwt.Workbook()
    sheet = xls.add_sheet('sheet1', cell_overwrite_ok=True)
    x = 0
    for line in f:

        for i in range(len(line.split(','))):
            print(i)
            item = line.split(',')[i]
            sheet.write(x, i, item)
        x += 1
    f.close()
    xls.save(xlsname)


if __name__ == "__main__":
    filename = "test1.csv"
    xlsname ="res1.xls"
    csv_xls(filename,xlsname)

xlwt 库仅支持.xls 后缀,不支持.xlsx 后缀的excel 文件

openpyxl 操作

使用openpyxl 库将 csv 转成 .xlsx格式。

from openpyxl import Workbook
import datetime


def csv_to_xlsx_pd(sourcePath:str,savePath:str,encode='utf-8'):
    """将csv 转为 excel(.xlsx格式)
    如果不需要可以把计时相关代码删除
    Args:
        sourcePath:str 来源文件路径
        savePath:str 保存文件路径,需要包含保存的文件名,文件名需要是 xlsx 格式的
        encode='utf-8' 默认编码,可以改为需要的编码如gbk
    """
    print('开始处理%s' % sourcePath)
    curr_time = datetime.datetime.now()
    print(curr_time)

    f = open(sourcePath, 'r', encoding=encode)
    # 创建一个workbook 设置编码
    workbook = Workbook()
    # 创建一个worksheet
    worksheet = workbook.active
    workbook.title = 'sheet'

    for line in f:
        row = line.split(',')
        worksheet.append(row)
        # if row[0].endswith('00'):    # 每一百行打印一次
        #     print(line, end="")

    workbook.save(savePath)
    print('处理完毕')
    curr_time2 = datetime.datetime.now()
    print(curr_time2-curr_time)


if __name__ == '__main__':
    source = 'source.csv'
    save = 'result.xlsx'
    csv_to_xlsx_pd(sourcePath=source, savePath=save, encode='utf-8')

数据量小于1w操作会比较快,数据量大于50w, workbook.save() 保持数据会很慢,有时候需要20-30分钟才能保存完成。

使用 pandas 转d

使用 pandas 将csv 转xlsx

import pandas as pd


def csv_to_xlsx_pd():
    csv = pd.read_csv('source.csv', encoding='utf-8')
    csv.to_excel('result.xlsx', sheet_name='data')

#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
if __name__ == '__main__':
    csv_to_xlsx_pd()

数据量小于1w操作会比较快,数据量大于50w,保存会很慢。

相关文章
|
12月前
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
302 5
|
存储 数据挖掘 Java
csv和excel
【10月更文挑战第18天】csv和excel
956 5
|
数据采集 JSON 测试技术
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
590 83
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
725 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
前端开发 JavaScript API
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
1462 0
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
2975 0
|
8月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
8月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
10月前
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!

推荐镜像

更多