Python中os.listdir、Excel读写已经csv文件数据写入的使用

一、使用os模块读取文件名
(一) listdir(path=‘.’)

用法:返回一个由path指定目录中包含的文件名称(或者文件夹名称)组成的列表。该列表按任意顺序排列,并且不包括特殊条目 '.''..'

但列表只包含指定目录中所显示的,不会由指定目录中文件夹里面的文件或文件夹

示例:

import os
file_list = os.listdir('某文件目录')
print(file_list, type(file_list))

如果想读取指定某文件目录中的某一类型文件,我们可以这样:(以.csv文件为例)

import os
file_list = os.listdir('某文件目录')
for i in file_list:
    if i[-4:] == '.csv':
        print(i)
二、Excel读写
(一)首先我们要知道,微软的Excel后缀名有: .xls.xlsx

区别

.xls : excel 2007以前的文件后缀名

最多容纳256列65536行数据

使用xlwtxlrd模块

.xlsx : excel 2007开始文件使用的后缀名

最多容纳16384列1048567行数据

使用openpyxl模块

excel 2007开始兼容xlsxlsx后缀名

(二)python能够操作excel的模块
  • openpyxl
  • xlsxwriter
  • xlwt
  • pandas
  • xlrd
  • win32com
  • xlutils
(三)安装三方模块

底部Terminal中输入:

Windows系统 : pip install xxx

Mac 、Linux系统 :pip3 install xxx

或者:

File —> Settings —> Project —> Python Interpreter —> 点击 ‘+’ 号 输入xxx —>Install Package (显示安装成功)

(四)如何安装模块到虚拟环境

激活虚拟环境

Terminal中显示:(venv)表示虚拟环境已激活

如果没有显示

  1. 使用: ./venv/scripts/activate 进行虚拟环境激活
  2. 如果报错:说明微软禁用了终端执行脚本的功能
  3. 使用: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 解除禁用
  4. 再次执行 ./venv/scripts/activate

查看已经安装过的模块:pip list

(五)工作簿、工作表、单元格

工作簿:一个excel文件就是一个工作簿

工作表:一个工作簿的多张表格

单元格:存储信息的方格

(六)Excel写操作

1.新建一个excel文件

不能使用open方法

新建文件:Workbook()

import openpyxl
file = openpyxl.Workbook()

注意

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

2.操作工作表

**创建工作表对象: **create_sheet(表名,下标)

如果直接在工作簿最后追加工作表,下标参数不用写

创建工作簿会自动生成一个Sheet工作表

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

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

print(file.sheetnames)

**移除工作表:**remove(表)

:对应工作簿[工作表]

表名以字符串来表示

file.remove(file['Sheet'])

3.从工作表插入信息

在这里我用学生工作表举例:

方法一

cell(行号,列号) --> 定位单元格

value --> 获取单元格内容

示例:

将第一行第一列插入’姓名’

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

将第一行第二列插入’姓名’

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

方法二:

使用[列号行号] 定位单元格

excel中列号用字母表示,行号用数字表示

value --> 获取单元格内容

file['学生成绩']['AAA1'] = '姓名'
print(file['学生成绩']['AAA1'].value)

4.保存文件

新建excel文件是在最后保存文件的时候写文件名

file.save('./学生成绩.xlsx')
(七)Excel读操作(xlsx版)

1.加载xlsx文件

import openpyxl
file = openpyxl.load_workbook('./某文件.xlsx')

2.从工作簿中找工作表

ws = file['Sheet1']

max_row:获取xlsx文件中最大行数

max_column:获取xlsx文件中最大列数

# 行
for i in range(1, rows + 1):
    # 列
    for j in range(1, col + 1):
        print(ws.cell(i, j).value)
三、csv文件数据写入
(一)新建xlsx后缀文件
import os
import csv
import openpyxl
file = openpyxl.Workbook()
(二)新建工作表
file.create_sheet('xxx工作表')
(三)从源数据文件读数据
file_list = os.listdir('指定文件夹目录')
print(file_list)
(四)写数据

count作用:计数,进行行号的递增

count = 0
for i in file_list:
        f = open('想要打开的。csv文件', '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['xxx工作表'].cell(count, x + 1).value = j[x]
        f.close()
file.save('想要保存的文件名.xlsx')
print('数据写入完成')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值