栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

学习使我快乐 第九天

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习使我快乐 第九天

Day 09 一、excel 的读写 1. 了解微软的 ‘Excel’

后缀名:.xls、.xlsx、
.xls:excel 2007以前的文件后缀名,做多容纳256列16000+行数据.----> xlwt、xlrd

.xlsx:excel 2007开始文件使用的后缀名。做多容纳16000+列148567行数据。
excel 2007开始兼容xls、xlsx后缀名.----> openpyxl

2. ‘python’ 能够操作 ‘excel’ 的模块:
  • openpyxl、xlsxwriter、xlwt、pandas、xlrd、win32com、xlutils等。
3.安装 “openpyxl" 模块(以Windows系统为例子)
  • windows:pip install xxx

  • mac、linux:pip3 install xxx

  • 如何安装模块到虚拟环境
    a.激活虚拟环境
    b.(venv)—> 虚拟环境已经激活
    c.没有显示 使用./venv/scripts/activate 进行虚拟环境激活
    d.报错:微软禁用了终端执行脚本的功能
    e.Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUse 使用此命令解除禁用
    d.查看已经安装过的模块:pip list

4.用’python’ 模块操作 ‘excel’
  • 工作簿:一个excel文件就是一个工作表
  • 工作表:一个工作簿的多张表格
  • 单元格:工作表中存放信息的表格

首先要打开模块 import openpyxl

import openpyxl

a.新建一个 ‘excel’ 文件

file = openpyxl.Workbook()

b.操作工作表

  • 创建工作表对象:create_sheet(表名,下标)
  • sheetnames:查看工作簿中已存在的工作表
  • 移除工作表:remove(表)---->表:工作簿对象[工作表名]
file.create_sheet('学生成绩', 0)
file.create_sheet('学生成绩', 1)
#  sheetnames:查看工作簿中已存在的工作表
print(file.sheetnames)
file.remove(file['Sheet'])

c.从学生成绩工作表插入信息

  • 方法一:使用cell(行号,列号)定位单元格
  • cell(行号,列号) --> 定位单元格
  • .value -> 获取单元格内容
print(file['学生成绩'].cell(1, 1).value)
file['学生成绩'].cell(1, 1).value = '姓名'
print(file['学生成绩'].cell(1, 1).value)
file['学生成绩'].cell(1, 2).value = '性别'
  • 方法二. 使用列号行号定位单元格
file['学生成绩']['AAA1']='姓名'
print(file['学生成绩']['AAA1'].value)

file.save('./学生成绩.xlsx')
二、excel 的读方法 1. openpyxl.load_workbook(路径)
  • 打开已经存在的文件可以使用 openpyxl.load_workbook(路径)方法
  • 打开的文件是工作簿,所以我们需要指定需要打开的工作表
  • 例:
import openpyxl
# 打开文件
file = openpyxl.load_workbook('./成都链家二手房.xlsx')
# 从工作簿中找工作表
ws = file['成都链家二手房数据汇总']
2.excel的遍历
  • 要想对excel表格作遍历,我们需要知道多少行,多少列。
    • max_rox : 获取xlsx文件中最大行数
    • max_column : 获取xlsx文件中最大列数
	ws = file['成都链家二手房数据汇总']
# max_rox:获取xlsx文件中最大行数
rows = ws.max_row
# max_col:获取xlsx文件中最大列数
col = ws.max_column

for i in range(1,rows+1):
   for j in range(1,col+1):
       print(ws.cell(i,j).value)
三、csv文件写入Excel 1.os 模块 import os 我们可以使用os模块中的 listdir():能够读取指定文件夹下的所有子文件.
import os
import csv
import openpyxl

# 新建xlsx后缀文件
file = openpyxl.Workbook()
# 新建工作表
file.create_sheet('成都链家二手房数据汇总')
# -------------------------------------------------
# 从源数据文件读数据
# listdir():能够读取指定文件夹下的所有子文件
file_list = os.listdir('./成都链家二手房数据')
print(file_list)
# count作用:计数进行行号的递增
count = 0
for i in file_list:
    if i[-9:] == '二手房信息.csv' and i[:2] == '成都':
        f = open(f'./成都链家二手房数据/{i}', 'r', encoding='utf-8')
        read_data = csv.reader(f)
        for j in read_data:
            count += 1
            for x in range(0, len(j)):
                # 根据每一条数据长度判断写n列
                file['成都链家二手房数据汇总'].cell(count, x + 1).value = j[x]
        f.close()
# ---------------------------------
file.save('./成都链家二手房.xlsx')
print('数据写入完成')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002356.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号