学习python的第九天

使用os模块读取文件名

import os
file_list = os.listdir(('../day08/chengdu-lianjia/'))
print(file_list,type(file_list))
for i in file_list:
    if i[-4:] == '.csv':
        print(i)

Excel的读写操作

微软的Excel
后缀名:.xls、.xlsx

  • .xls:excel2007以前的文件后缀名。最多容纳256列16000多行数据。—xlwt、xlrd
  • .xlsx:Excel2007开始文件使用的后缀名。最多容纳16000多列1048567行数据。—openpyxl
    Excel2007开始兼容xls、xlsx后缀名。
    python能够操作Excel的模块:openpyxl、xlsxwriter、pandas、xlwt、xlrd、win32com、xwings、xlutils等
    工作簿:一个Excel文件就是一个工作簿。
    工作表:一个工作簿的多张表格。
    单元格:存储信息的方格。
  1. 新建一个Excel文件。新建文件:Workbook()
    如果文件存在:openpyxl.load_workbook(文件路径+文件名)
import openpyxl
file = openpyxl.Workbook()
  1. 操作工作表:
  • 创建一个工作表对象:create_sheet(表名,下标)。如果直接在工作簿最后追加工作表,下标参数可省。
file.create_sheet('学生成绩表',0)
file.create_sheet('学生点名表')
  • file.sheetnames:查看工作簿中已经存在的工作表
sheet_name = file.sheetnames
print(sheet_name)
# ['学生成绩表', 'Sheet']
  • 移除工作表:remove(表名) —表:工作簿对象(工作表)
file.remove(file['Sheet'])
# file.remove('Sheet')
# 'Sheet' is not in list
  • 从学生成绩工作表插入信息
  1. 法一:使用cell(行号,列号)定位单元格。
    value —获取单元格的内容
print(file['学生成绩'].cell(1, 1).value)
# None
file['学生成绩表'].cell(1, 1).value = '姓名'
file['学生成绩表'].cell(1, 2).value = '性别'
file['学生成绩表'].cell(1, 3).value = '成绩'
print(file['学生成绩表'].cell(1, 1).value)
# 姓名
  1. 法二:使用[列号行号]定位单元格。
file['学生成绩表']['AAA1'] = '排名'
print(file['学生成绩表']['AAA1'].value)
# 排名
  • 保存文件
file.save('./学生成绩表.xlsx')

csv文件数据写入xlsx

导入第三方库:

import csv
import os
import  openpyxl
  • 新建xlsx后缀名文件
file = openpyxl.Workbook()
  • 新建工作表
file.create_sheet('成都链家二手房数据汇总')
  • 读取子文件

listdir():能够读取指定文件夹下的所有子文件。

file_list = os.listdir('../day08/chengdu-lianjia')
print(file_list)
# ['.ipynb_checkpoints', 'result.csv', 'result2.csv', '成都双流二手房信息.csv', '成都大邑二手房信息.csv', '成都天府新区二手房信息.csv', '成都天府新区南区二手房信息.csv', '成都崇州二手房信息.csv', '成都彭州二手房信息.csv', '成都成华二手房信息.csv', '成都新津二手房信息.csv', '成都新都二手房信息.csv', '成都武侯二手房信息.csv', '成都温江二手房信息.csv', '成都简阳二手房信息.csv', '成都蒲江二手房信息.csv', '成都邛崃二手房信息.csv', '成都郫都二手房信息.csv', '成都都江堰二手房信息.csv', '成都金堂二手房信息.csv', '成都金牛二手房信息.csv', '成都锦江二手房信息.csv', '成都青白江二手房信息.csv', '成都青羊二手房信息.csv', '成都高新二手房信息.csv', '成都高新西二手房信息.csv', '成都龙泉驿二手房信息.csv']
  • 创建变量作用:计数进行行号的递增。
count = 0
  • 读取数据并在Excel文件中写入数据
for i in file_list:
    if i[-9:] == '二手房信息.csv' and i[:2] == '成都':
        f = open(f'../day08/chengdu-lianjia/{i}','r',encoding='utf-8')
        read_data = csv.reader(f)
        for j in read_data:
            count += 1
            # for x in enumerate(j):
            for x in range(0,len(j)):
                # 根据每一条数据长度判断写n列
                file['成都链家二手房数据汇总'].cell(count,x+1).value = j[x]
        f.close()
file.save('./成都链家二手房.xlsx')
print('数据写入完成')
# 数据写入完成

Excel读取-xlsx

import openpyxl
# 加载xlsx文件
file = openpyxl.load_workbook('./成都链家二手房.xlsx')
# 从工作簿中找工作表
ws = file['成都链家二手房数据汇总']
print(ws)
# max_row:获取xlsx文件中的最大行数。
rows = ws.max_row
# max_column:获取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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值