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

python学习---day9

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

python学习---day9

使用os模块读取文件名
import os
file_list = os.listdir('./data_lianjia')
print(file_list, type(file_list))
for i in file_list:
    if i[4:] == '.csv':
        print(i)
excel读写 微软的Excel

文件后缀名:.xls/.xlsx

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

  • .xlsx:—> openpyxl
    excel 2007开始文件使用的后缀名
    最多容纳16000+列,1048567行数据
    excel 2007开始兼容xls、xlsx后缀名

python能够操作excel的模块
openpyxl、xlsxwriter、xlwt、pandas、xlrd、win32com、xlutils等

安装三方模块

  • windows: pip install xxx
  • mac、linux:pip3 install xxx

如何安装模块到虚拟环境

  • 1.激活虚拟环境
  • 2.(venv) —> 虚拟环境已经激活;使用 ./venv/scripts/activate进行虚拟环境激活
    报错:微软禁用了终端执行脚本的功能
    使用 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUse0r 解除禁用
    再次执行./venv/scripts/activate
1.新建一个excel文件

新建文件:openpyxl.Workbook()
如果文件存在:openpyxl.load_workbook(文件路径和文件名)

file = openpyxl.Workbook()
2.操作工作表

创建工作表对象:create_sheet(表名,下标)
如果直接在工作簿最后面追加工作表,下标参数不用写

file.create_sheet('学生成绩', 0)
file.create_sheet('学生成绩1')

查看工作簿中已经存在的工作表:file.sheetnames

print(file.sheetnames)

移除工作表:remove(表) —>表:工作簿对象[工作表]

file.remove(file['Sheet'])
3.从学生成绩工作表插入信息

方法一:
使用cell(行号,列号)定位单元格
cell(行号,列号) —> 定位单元格
value —> 获取单元格的内容

file['学生成绩'].cell(1, 1).value = '姓名'
file['学生成绩'].cell(1, 2).value = '性别'
print(file['学生成绩'].cell(1, 1).value)

方法二:
使用[行号列号] 定位单元格

file['学生成绩']['AAA1'] = '姓名'
print(file['学生成绩']['AAA1'].value)
4.保存文件
file.save('./学生信息.xlsx')
练习: csv文件数据写入
import csv
import os
import openpyxl
# 新建xlsx后缀名文件
file = openpyxl.Workbook()
# 新建工作表
file.create_sheet('成都链家二手房数据汇总')

# 从源数据文件读数据
# listdir():能够读取指定文件夹下所有的子文件
file_list = os.listdir('./成都链家二手房数据')
print(file_list)
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('写入完成')

[‘成都双流二手房信息.csv’, ‘成都大邑二手房信息.csv’, ‘成都天府新区二手房信息.csv’, ‘成都天府新区南区二手房信息.csv’, ‘成都崇州二手房信息.csv’, ‘成都彭州二手房信息.csv’, ‘成都成华二手房信息.csv’, ‘成都新津二手房信息.csv’, ‘成都新都二手房信息.csv’, ‘成都武侯二手房信息.csv’, ‘成都温江二手房信息.csv’, ‘成都简阳二手房信息.csv’, ‘成都蒲江二手房信息.csv’, ‘成都邛崃二手房信息.csv’, ‘成都郫都二手房信息.csv’, ‘成都都江堰二手房信息.csv’, ‘成都金堂二手房信息.csv’, ‘成都金牛二手房信息.csv’, ‘成都锦江二手房信息.csv’, ‘成都青白江二手房信息.csv’, ‘成都青羊二手房信息.csv’, ‘成都高新二手房信息.csv’, ‘成都高新西二手房信息.csv’, ‘成都龙泉驿二手房信息.csv’]
写入完成

excel读入(xlsx)
import openpyxl
# max_row
# max_col
# 加载xlsx文件
file = openpyxl.load_workbook('./成都链家二手房.xlsx')
# 从工作簿中找工作表
ws = file['成都链家二手房数据汇总']
rows = ws.max_row
col = ws.max_column
for i in range(1, rows + 1):
    for j in range(1, col + 1):
        print(ws.cell(i, j).value)

一部分
龙泉驿
林溪康城 2室1厅 东南
林溪康城
阳光城
2室1厅
64.36平米
简装
11,032元/平
71
None
None

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002448.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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