Python 实现txt、excel、csv文件读写

# -*- 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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值