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 。

环境安装
python 将 csv转excel (.xls和.xlsx)的几种方式
文档操作
python 将 csv转excel (.xls和.xlsx)的几种方式
性能对比
python 将 csv转excel (.xls和.xlsx)的几种方式

参考链接Python杀死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')


if __name__ == '__main__':
    csv_to_xlsx_pd()

数据量小于1w操作会比较快,数据量大于50w,保存会很慢。文章来源地址https://www.toymoban.com/news/detail-477355.html

到了这里,关于python 将 csv转excel (.xls和.xlsx)的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python excel复制数据保留单元格格式(.xls.xlsx)

    最近帮朋友开发一个数据excel根据条件动态过率的功能.读取生成用pandas很方便,但是这里有一点比较麻烦的是得保留原来的单元格格式.这点操作起来就要麻烦一点了.下面总结了.xlsx和.xls处理 xlsx文件处理可以使用openpyxl库进行处理,比较简单,流程如下 1.获取原来的数据cell 2.进行

    2024年02月03日
    浏览(47)
  • 【Python】导入Excel数据表的几种方式

    如何导入csv、xlsx格式的Excel; 一张数据表里有多个sheet页,如何获取所有sheet页名字,并导入每张sheet页; 1. 导入CSV格式的Excel表: 2. 导入xlsx格式的Excel表: 如果Excel表里只有一个sheet页: 如果Excel表里有多个sheet页: 如果Excel表里sheet页过多:

    2024年02月03日
    浏览(49)
  • 前端常用的上传下载文件的几种方式,直接上传、下载文件,读取.xlsx文件数据,导出.xlsx数据

    1.1根据文件流Blob进行下载 1.2根据下载文件链接直接进行下载 html

    2024年02月12日
    浏览(44)
  • 【Unity】用Excel库读取Excel表格(.xlsx或者.xls)

    首先需要下载解析的库  EPPlus,  Excel,  ICSharpCode.SharpZipLib    下载链接: https://download.csdn.net/download/weixin_46472622/87238048 使用方法 我的Excel 表格是这样的,每一列有一个 我用一个结构体对象来表示 读取的方法  全部代码,以及调用: 如果是打包PC端的exe,需要将编辑

    2024年02月12日
    浏览(43)
  • UNITY--读取Excel的几种方式

    目录 一.DLL插件读取 1.1.Excel存放位置 1.2.使用示例 1.3.Excel格式  1.4.输出显示  1.5.所需插件 二.Excel转成Asset文件,再进行读取 2.1Excel文件存放位置 2.2 编辑模式生成Asset文件,并保存到指定位置  2.3创建ExcelRead脚本,读取Excel内容 2.4 创建数据存储脚本 2.5  编辑器生成Asset 与属

    2024年01月20日
    浏览(52)
  • Python读取CSV文件的几种方法

    话不多说,开干!!! 目录 1. 使用 csv 模块 2.使用 numpy 库 3.使用pandas库 4.使用标准库中的 csv 模块 5.注意事项 (1)项目目录如下图所示: (2)代码如下: (3)效果如下: (1)项目结构如下: (2)代码如下: (3)效果如下: (1)项目结构如下: (2)代码如下: (

    2024年02月08日
    浏览(56)
  • 1685_Excel的几种脚本处理方式

    全部学习汇总: GreyZhang/python_basic: My learning notes about python. (github.com) 做个小结,实际上是写的我自己学习的过程。 关于Excel的处理方式很多,我也不会那么多,在这里我只想写一下我自己接触过的。大致是三种方式:MATLAB、Perl以及Python。 MATLAB实际上调用了win32的接口,因此

    2023年04月22日
    浏览(35)
  • 使用Java将图片添加到Excel的几种方式

    使用POI,依赖如下 Java代码如下,运行该程序它会在桌面创建 ImageLinks.xlsx 文件。 点击它会自动打开浏览器访问设置的超链接 使用POI 下面是java代码 运行代码之后会在桌面生成文件 ExcelWithImage.xlsx 可以看到图片插入到了单元格中 但是尺寸太大了并且占了n行n列,下面设置成占

    2024年01月21日
    浏览(45)
  • C# 读取Excel的几种常见方式及实现步骤

    目录 1.使用 Microsoft Office Interop Excel 库 2.使用 OLEDB 数据库连接方式 3. 使用 EPPlus 库 在 C# 中,我们可以使用以下几种方式将 Excel 文件中的数据读取到 DataTable 中: 1.使用 Microsoft Office Interop Excel 库 这种方法需要安装 Microsoft Office,并且性能较低。具体实现步骤如下: 2.使用 O

    2024年02月12日
    浏览(39)
  • C# 常用Excel导出的几种常见方式及实现步骤

    目录 常用Excel导出方式 1.使用 Microsoft Office Interop Excel 组件导出 Excel 文件 2.使用 NPOI 组件导出 Excel 文件  3.使用 EPPlus 组件导出Excel文件 4. 使用 ClosedXML 组件导出 Excel 文件 在 C# 中,常用的Excel 文件导出 方式包括: 使用 Microsoft Office Interop Excel 组件:这是一种使用 Microsoft E

    2024年02月06日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包