python第13天各类文件读取

一、txt读取
#如果不涉及到包可以直接创建目录
def txt_wirter():
    with open('data.txt','w',encoding='utf-8') as f:
        f.write('学习编程\n')
        lines=['地址:北京市\n',
               'QQ:937849577\n',
               '网址:http://kkk.com']
        f.writelines(lines)#writelines是写入一个集合
def txt_read():
    with open('data.txt',encoding='utf8') as f:
        for line in f:
            print(line,end='')
二、CSV读取
import csv
from collections import namedtuple
def csv_read():
    with open('水深.csv',encoding='utf8') as f:
        reader=csv.reader(f)#csv也可以迭代
        headers=next(reader)#用内置的next函数打印出第一行,用next把第一行遍历出来之后指针不能再回去了
        print(headers)
        #由于第一行已经用next()遍历出来了,所以接下来可以用for方法遍历内容
        for row in reader:
            print(row)#每一行都是一个list
def csv_read_by_namedtuple():#读取csv并用namedtuple映射列名
    with open('水深.csv',encoding='utf8') as f:
        reader=csv.reader(f)
        headers=next(reader)
        Row=namedtuple('Row',headers)
        for r in reader:
            row=Row(*r)
            print(row)
def csv_read_by_dict():#读取到字典表
    with open('水深.csv',encoding='utf8') as f:
        reader=csv.DictReader(f)
        for row in reader:
            print(row)
2.1写文件,写入列表
def csv_write():
    headers=['编号','课程名称','讲师']
    rows=[(1,'python','Eason'),
          (2, 'c#', 'Eason'),
          (3,'.NET','Eason'),
          (4,'C','Eason')]
    with open('my_course.csv','w',encoding='utf8',newline='') as f:#newline=''默认加了\n
        writer=csv.writer(f)
        writer.writerow(headers)#写一行,把表头写进去
        writer.writerows(rows)#写多行
2.2写入字典表
def csv_write_dict():
    headers=['ID','Title','Org','Url']
    rows=[{'ID':1,'Title':'python','Org':'ketang','Url':'xuexi.com'},
          {'ID':2,'Title':'python','Org':'ketang','Url':'xuexi.com'},
          {'ID':3,'Title':'python','Org':'ketang','Url':'xuexi.com'},
          {'ID':4,'Title':'python','Org':'ketang','Url':'xuexi.com'}]
    with open('my_coursse2.csv','w',encoding='utf8') as f:
        write=csv.DictWriter(f,headers)
        write.writeheader()#写入表头
        write.writerows(rows)#写入内容
三、json
import json
def json_basic():
    data={
        'ID':1,'课程':'精讲','单价':98,'网址':'hhh.com'
    }
    print('原始数据')
    print(data)
    json_str=json.dumps(data)#变为json格式
    print('--------------------')
    print(json_str)
    json_data=json.loads(json_str)#还原为python格式
    print(json_data)
#写入json文件
def json_write_file():
    data = {
        'ID': 1, '课程': '精讲', '单价': 98, '网址': 'hhh.com'
    }
    with open('data.json','w',encoding='utf8') as f:
        json.dump(data,f)
四、excle文件处理
def xl_read():
    import xlrd
    book=xlrd.open_workbook('水深.xls')#打开一个表格
    for sheet in book.sheets():#找表格中的工作簿
        print(sheet.name)
def xl_read_data():
    book=xlrd.open_workbook('水深.xls')
    sheet=book.sheet_by_name('水深')
    for i in (sheet.nrows):
        print(sheet.row_values(i))#获取索引指定的数据行
if __name__ == '__main__':
    # txt_wirter()
    # txt_read()
    # csv_read()
    # csv_read_by_namedtuple()
    # csv_read_by_dict()
    #csv_write()
    #csv_write_dict()
    #json_basic()
    #json_write_file()
    xl_read()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值