# -*- coding: utf-8 -*-
import os
import glob
if __name__ == '__main__':
###一、 获取文件夹下所有文件的方式:分为指定文件尾缀和不指定文件尾缀
folder_path = ''
file_type = '.txt'
#(1)用listdir---获取当前文件夹下所有文件
filelist = os.listdir(folder_path)
# 用listdir---获取当前文件夹下所有指定类型文件
for i in os.listdir(folder_path):
if (i.endswith(file_type)):
print(os.path.join(folder_path, i))
#(2)os.walk:遍历一个目录及其所有子目录,并可以生成一个包含每个目录路径、该目录下所有文件夹的名称和该目录下所有文件的名称的迭代器
# root--当前的文件目录
# dirs--当前目录下的所有子目录
# files--当前目录下的所有文件
for root,dirs,files, in os.walk(folder_path):
for filename in files:
if file_name.endswith(file_type):
print(os.path.join(root, file_name))
#(3)glob.glob---获取当前文件夹下所有特定类型文件
filelist = glob.glob(os.path.join(folder_path, f"*{file_type}"))
#查找文件只用到三个匹配符:
#”*” :匹配 0 个或多个字符;
#“?”:匹配单个字符;
#“[]”:匹配指定范围内的字符,如:[0-9]匹配数字;
#注意:如果文件名以“点”开头 ,无法被 '*' 和 '?'匹配,如:".card.gif"
#获取指定目录下的所有图片
print (glob.glob(r"/home/qiaoyunhao/*/*.png"),"\n")#加上r让字符串不转义
#获取上级目录的所有.py文件
f = glob.glob(r'../*.py') #相对路径
# f r u b 关键字含义:https://blog.csdn.net/qq_37771209/article/details/110133162
# f-字符串前面加f,代表使用格式化字符串(f-string)的方式定义字符串。使用格式化字符串,可以将表达式或变量的值嵌入到字符串中
# r-字符串前加 r,r的作用是去除转义字符
# b-b" "前缀表示:后面字符串是bytes 类型
# u- u"我是含有中文字符组成的字符串。"
#通过文件后缀名判断文件类型
file_name = 'example.txt'
file_extension = os.path.splitext(file_name)[-1].lower()
###二、txt文件的读写:https://blog.csdn.net/yang4123/article/details/128720003
# r ---文件只读,若文件不存在则报错
# r+ ---文件可读可写,若文件不存在则报错,写入时会覆盖原有内容
# rb ---文件只读(二进制形式),若文件不存在则报错
# rb+ -文件可读写(二进制形式),若文件不存在则报错,写入时会覆盖原有内容
# w ---文件只写,若文件不存在则创建,写入时会覆盖原有内容
# w+ --文件可读可写,若文件不存在则创建,写入时会覆盖原有内容
# wb --文件只写(二进制形式),若文件不存在则创建,写入时会覆盖原有内容
# wb+ -文件可读可写(二进制形式),若文件不存在则创建,写入时会覆盖原有内容
# a ---文件只写,若文件不存在则创建,写入时会追加到文件末尾
# a+---文件可读可写,若文件不存在则创建,写入时会追加到文件末尾
# ab---文件只写(二进制形式),若文件不存在则创建,写入时会追加到文件末尾
# ab+---文件可读可写(二进制形式),若文件不存在则创建,写入时会追加到文件末尾
#
## read() 读取文件全部内容,以字符串形式返回结果
## readline() 读取文件第一行的内容,以字符串形式返回结果
## readlines() 读取文件全部内容,以列表形式返回结果(可以输出指定行)
## write() 将内容写入文件,默认不换行
# f = open(file, 'r', encoding='utf-8')
with open(file, "r", encoding='utf-8') as f:
# read():读取文件全部内容,以字符串形式返回结果
data = f.read()
# readline():读取文件第一行的内容,以字符串形式返回结果
data = f.readline()
# readlines():读取文件全部内容,以列表形式返回结果
data = f.readlines()
for item in data:
print(item)
###三、Excel文件的读写:https://baijiahao.baidu.com/s?id=1724702605017928089&wfr=spider&for=pc
#xlrd库:读取Excel数据
#xlwt库:写入Excel数据
#pandas or openpyxl
#pandas读Excel文件:https://www.bilibili.com/read/cv25995624/
#https://www.bilibili.com/read/cv25995624/
#https://zhuanlan.zhihu.com/p/489838927?utm_id=0
import pandas as pd
df=pd.read_excel('lemon.xlsx')#这个会直接默认读取到这个Excel的第一个表单
#pandas写Excel文件
df.to_excel('1.xlsx')
#可以使用openpyxl库提供的load_workbook()方法打开excel表,然后使用表格的名称或索引获取Sheet对象,最后使用Sheet对象的cell()方法获取单元格数据。代码如下:
from openpyxl import load_workbook
# 打开excel表格
wb = load_workbook(filename='example.xlsx')
# 获取Sheet对象
sheet = wb['Sheet1']
# 或者使用索引获取Sheet对象
# sheet = wb.worksheets[0]
# 获取单元格数据
val = sheet.cell(row=1, column=1).value
print(val)
# 这样,你就可以轻松读取excel表格了。类似地,你还可以使用openpyxl库提供的方法写入excel表格,代码如下:
from openpyxl import Workbook
# 创建新的excel表格
wb = Workbook()
# 获取Sheet对象
sheet = wb.active
# 写入数据
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
# 保存excel表格
wb.save(filename='example.xlsx')
Python 实现txt、excel、csv文件读写
最新推荐文章于 2024-10-18 00:00:00 发布