您的位置:首页 > 编程语言 > Python开发

使用python操作excel文件

2020-05-07 17:53 211 查看

精选30+云产品,助力企业轻松上云!>>>

文档操作比较如下:

运行环境比较如下:

性能比较如下:

  • openpyxl基本示例

from openpyxl import Workbook
wb = Workbook()

# grab the active worksheet
ws = wb.active

# Data can be assigned directly to cells
ws['A1'] = 42

# Rows can also be appended
ws.append([1, 2, 3])

# Python types will automatically be converted
import datetime
ws['A2'] = datetime.datetime.now()

# Save the file
wb.save("sample.xlsx")
  • xlrd3基本示例

# pip install xlrd3
import xlrd3 as xlrd
book = xlrd.open_workbook("myfile.xls")
print("The number of worksheets is {0}".format(book.nsheets))
print("Worksheet name(s): {0}".format(book.sheet_names()))
sh = book.sheet_by_index(0)
print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))
print("Cell D30 is {0}".format(sh.cell_value(rowx=29, colx=3)))
for rx in range(sh.nrows):
print(sh.row(rx))
  • pandas基本示例

import pandas as pd
titanic = pd.read_csv("data/titanic.csv")
  • xlwings基本示例

import xlwings as xw
#连接到excel
workbook = xw.Book(r'path/myexcel.xlsx')#连接excel文件
#连接到指定单元格
data_range = workbook.sheets('Sheet1').range('A1')
#写入数据
data_range.value = [1,2,3]
#保存
workbook.save()
  • xlsxwriter基本示例

import xlsxwriter as xw
#新建excel
workbook  = xw.Workbook('myexcel.xlsx')
#新建工作薄
worksheet = workbook.add_worksheet()
#写入数据
worksheet.write('A1',1)
#关闭保存
workbook.close()
  • xlutils基本示例

import xlrd #读取数据
import xlwt #写入数据
import xlutils #操作excel
#----xlrd库
#打开excel文件
workbook = xlrd.open_workbook('myexcel.xls')
#获取表单
worksheet = workbook.sheet_by_index(0)
#读取数据
data = worksheet.cell_value(0,0)
#----xlwt库
#新建excel
wb = xlwt.Workbook()
#添加工作薄
sh = wb.add_sheet('Sheet1')
#写入数据
sh.write(0,0,'data')
#保存文件
wb.save('myexcel.xls')
#----xlutils库
#打开excel文件
book = xlrd.open_workbook('myexcel.xls')
#复制一份
new_book = xlutils.copy(book)
#拿到工作薄
worksheet = new_book.getsheet(0)
#写入数据
worksheet.write(0,0,'new data')
#保存
new_book.save()
  • win32com基本示例

import win32com.client as wc
#启动Excel应用
excel_app = wc.Dispatch('Excel.Application')
#连接excel
workbook = excel_app.Workbooks.Open(r'e:/myexcel.xlsx' )
#写入数据
workbook.Worksheets('Sheet1').Cells(1,1).Value = 'data'
#关闭并保存
workbook.SaveAs('newexcel.xlsx')
excel_app.Application.Quit()
  • DataNitro基本示例

#单一单元格赋值
Cell('A1').value = 'data'
#单元区域赋值
CellRange('A1:B2').value = 'data'
  • 使用xlwt写excel

效果图如下:

代码如下:

import xlwt
# 写excel
book = xlwt.Workbook()
sheet = book.add_sheet('sheet1')
# 指定第一行内容
sheet.write(0, 0, 'id')
sheet.write(0, 1, '姓名')
sheet.write(0, 2, '密码')
a = 1
while a < 100:
b = 0
while b < 3:
# 根据行列分别填充数据
if b == 0:
sheet.write(a, b, a)
elif b == 1:
sheet.write(a, b, '名字'+str(a))
else:
sheet.write(a, b, '密码'+str(a))
b += 1
a += 1
# 保存文件
book.save('xlwt.xls')
  • 使用xlrd读取excel文件

代码如下:

import xlrd

book = xlrd.open_workbook('xlwt.xls')
# 获取第一个表
sheet = book.sheet_by_index(0)
# 打印行总数
print(sheet.nrows)
# 打印列总数
print(sheet.ncols)
# 打印单元格第一行第一列的值
print(sheet.cell(0, 0).value)
# 打印第一行的所有值
print(sheet.row_values(0))
# 打印第一列的所有值
print(sheet.col_values(0))
for i in range(sheet.nrows):
# 打印每一行的值
print(sheet.row_values(i))
for j in range(sheet.ncols):
# 打印每一列的值
print(sheet.col_values(j))
  • 使用xlrd+xlutils修改excel文件

代码如下:

import xlrd
import xlutils
# xlutils中导入copy
from xlutils import copy

book = xlrd.open_workbook('xlwt2.xls')
# 先用xlrd打开一个excel
new_book = copy.copy(book)
# 然后用xlutils里面的copy功能,复制一个excel
# 获取sheet页
sheet = new_book.get_sheet(0)

sheet.write(1, 1, '一样迁徙')  # 修改第2行,第2列
sheet.write(2, 1, '张一星')  # 修改第3行,第2列
new_book.save('xlwt5.xls')

原文链接

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xlrd xlwt xlutils myexcel xlsx