博客
关于我
教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!
阅读量:238 次
发布时间:2019-03-01

本文共 3294 字,大约阅读时间需要 10 分钟。

Python 数据处理与文档操作实用指南

Python 是一种强大的数据处理工具,尤其在处理 Excel、Word 和 CSV 文件方面表现出色。本文将详细介绍如何利用 Python 进行数据处理、文档操作以及文件格式转换。


一、Python 操作 Excel

Excel 是最流行的数据处理软件之一,而 Python 可以通过多种库轻松与 Excel 进行交互。常用的库包括 xlrd、xlwt、xlutils、XlsxWriter 和 OpenPyXL 等。以下是这些工具的特点对比:

工具 读取支持 写入支持 修改支持 格式支持 高版本支持 大文件处理 效率
xlrd 是 否 否 否 否 否 较慢
xlwt 否 是 是 否 否 否 较快
XlsxWriter 是 是 是 是 是 否 超快
OpenPyXL 是 是 是 是 是 否 一般

选择工具:根据需求选择合适的库。xlrd 和 xlwt 是基础工具,而 XlsxWriter 和 OpenPyXL 则更高级,支持更多格式。


1. 安装库

安装 xlrd、xlwt 和 xlutils 可以通过以下命令执行:

pip install xlrd xlwt xlutils

2. 写入 Excel

使用 xlwt 库可以轻松向 Excel 文件中写入数据。以下是示例代码:

import xlwt# 创建 Excel 文件对象wb = xlwt.Workbook()# 新增表单页sh = wb.add_sheet('成绩')# 写入数据sh.write(0, 0, '姓名')sh.write(0, 1, '专业')sh.write(0, 2, '科目')sh.write(0, 3, '成绩')# 示例数据data = [    ('张三', '信息与通信工程', '数值分析', 88),    ('李四', '物联网工程', '数字信号处理分析', 95),    ('王华', '电子与通信工程', '模糊数学', 90)]# 写入数据for row in data:    sh.write(sh.current_row, row[0])    sh.write(sh.current_row, row[1])    sh.write(sh.current_row, row[2])    sh.write(sh.current_row, row[3])# 保存文件wb.save('test.xls')

3. 读取 Excel

读取 Excel 文件的代码示例:

import xlrd# 打开 Excel 文件wb = xlrd.open_workbook('test_w.xls')# 获取 sheet 数量print('sheet 数量:', wb.nsheets)# 获取 sheet 名称print('sheet 名称:', wb.sheet_names())# 获取第一个 sheetsh = wb.sheet_by_index(0)# 打印 sheet 信息print('sheet %s 共 %d 行 %d 列' % (sh.name, sh.nrows, sh.ncols))# 获取单元格值print('第一行第二列的值为:', sh.cell_value(0, 1))# 获取整行或整列rows = sh.row_values(0)cols = sh.col_values(1)print('第一行的值为:', rows)print('第二列的值为:', cols)# 获取单元格类型print('第二行第一列的值类型为:', sh.cell(1, 0).ctype)

4. 修改 Excel

通过 xlutils 的 copy 模块可以轻松复制并修改 Excel 文件:

import xlrdfrom xlutils.copy import copy# 打开 Excel 文件readbook = xlrd.open_workbook('test_w.xls')# 复制文件wb = copy(readbook)# 获取第一个 sheetsh = wb.get_sheet(0)# 修改数据sh.write(4, 0, '王欢')sh.write(4, 1, '通信工程')sh.write(4, 2, '机器学习')sh.write(4, 3, 89)# 获取第二个 sheetsh = wb.get_sheet(1)# 替换总成绩数据sh.write(1, 0, 362)# 保存文件wb.save('test_w.xls')

二、Python 操作 Word

处理 Word 文件需要使用 python-docx 库。以下是常用操作示例。


1. 安装库

安装 python-docx:

pip install python-docx

2. 写入 Word

通过 docx 库可以创建和格式化 Word 文件。以下是基本使用示例:

from docx import Documentfrom docx.shared import Pt, Inchesfrom docx.oxml.ns import qn# 创建空白文档doc = Document()# 新增标题doc.add_heading('如何使用 Python 创建和操作 Word', 0)# 保存文件doc.save('word1.docx')

3. 格式化 Word

通过设置字体、颜色、对齐等样式,可以实现 Word 文件的美观化:

from docx import Documentfrom docx.shared import Pt, Inchesfrom docx.oxml.ns import qn# 创建空白文档doc = Document()# 设置字体样式styleBR = xlwt.easyxf('font: name Times New Roman, color-index red, bold on')styleNum = xlwt.easyxf(num_format_str='#,##0.00')styleDate = xlwt.easyxf(num_format_str='YYYY-MM-DD')# 新增标题doc.add_heading('如何使用 Python 创建和操作 Word', 0)# 插入段落doc.add_paragraph('Word 文档在我们现在的生活和工作中都用的比较多...')# 保存文件doc.save('word2.docx')

三、Python 操作 CSV

CSV(Comma-Separated Values)是一种简单的数据交换格式。Python 提供 csv 模块来处理 CSV 文件。


1. 写入 CSV

使用 csv.writer 写入 CSV 文件:

import csv# 打开文件with open('test.csv', 'w', newline='') as csvfile:    writer = csv.writer(csvfile)    writer.writerow(['id', 'name', 'age'])    data = [('1001', '张三', '21'), ('1002', '李四', '31')]    writer.writerows(data)

2. 读取 CSV

读取 CSV 文件的示例:

import csv# 打开文件with open('test.csv', newline='') as csvfile:    reader = csv.reader(csvfile)    for row in reader:        print(', '.join(row))

通过以上示例,可以看出 Python 在数据处理和文档操作方面具有强大的功能,能够高效完成各种复杂任务。

转载地址:http://ergp.baihongyu.com/

你可能感兴趣的文章
python--003--百分号字符串拼接、format
查看>>
Python--10、线程
查看>>
Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
查看>>
python--基本代码规范
查看>>
Python--抽象类接口类
查看>>
PYTHON--欧拉习题二
查看>>
python--高级应用总结
查看>>
python-520表白代码,我看谁说程序员不懂浪漫,送你几套表白代码,一步到位
查看>>
Python-Asyncio TypeError:无法在‘;等待‘;表达式中使用对象DICT
查看>>
Python-AttributeError:‘;dict&39;对象没有属性‘;序列‘;
查看>>
Python-ldap:是否可以在不显式写入密码的情况下进行绑定?
查看>>
python出现 unknown encoding: idna 的处理方法
查看>>
Python出现 RuntimeError: dictionary changed size during iteration 的解决方法
查看>>
Python-numpy(2)数组的操作
查看>>
Python-Numpy的tile函数用法
查看>>
python-open函数
查看>>
Python-Pandas-将特定函数应用于给定级别-多索引数据框架
查看>>
python-queue队列通信
查看>>
python-ros No module named PyKDL
查看>>
python-social-auth 是否需要会话
查看>>