zoukankan      html  css  js  c++  java
  • 文件的使用

    文件的使用

    一、文件的概述

    文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象,用文件形式组织和表达数据更有效也更为灵活,

    二、文件包括两种类型:文本文件和二进制文件。

    1.文本文件

    一般由单一特定编码的字符组成,如UTF-8编码,内容容易统一展示和阅读。

    2.二进制文件

    直接由比特0和比特1组成,没有统一字符编码,文件内部数据的组织格式与文件用途有关。

    三、文件的打开

    <变量名>=open(<变量名>,<打开模式>)

    文件的打开模式

    文件的打开模式 含义
    'r' 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
    ‘w' 覆盖写模式,文件不存在则创建,存在则完全覆盖
    'x' 创建写模式,文件不存在则创建,存在则返回异常FileNotFoundError
    'a' 追加写模式,文件不存在则创建,存在则在文件最后追加内容
    'b' 二进制文件模式
    't' 文本文件模式,默认值
    '+' 与r/w/x/a一同使用,在原功能基础上增加读写功能

    注意:'r','w','x','a'可以和'b','t','+'组合使用

    例如:打开文本文件模式

    text=open('7.1.txt','rt')

    打开二进制文件

    text=open('7.1.txt','rb')

    四、文件的读写

    读取

    操作方法 含义
    <file>.read(size=-1) 从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或者字符流
    <file>.readline(size=-1) 从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或者字符流
    <file>.readlines(hint=-1) 从文件中读入所有行,以每行为元素形成一个列表如果给出参数,读入hint行

    写入

    方法 含义
    <file>.write(s) 向文件写入一个字符串或者字符流
    <file>.writelines(lines) 将一个元素全为字符串的列表写入文件
    <file>.seel(offset) 改变当前文件操作指针的位置,offset的值:0--文件开头;1--当前位置;2--文件结尾

     

     

     

    五、文件的关闭

    <变量名>.close()

    六、文件的简单应用

    复制代码
     1 >>> wj=open('C:\UsersAdministratorDesktopPython文件的打开.txt','rt')      #打开文件
     2 >>> print(wj.read())                                      #输出文件内容
     3 唐诗宋词元曲
     4 >>> wj.close()                                         #关闭文件
     5 >>> lp=open('C:\UsersAdministratorDesktopPython文件的打开.txt',"w+")       #打开文件的读写模式
     6 >>> text=["是中国传统知识"]                                   #将要写入的内容
     7 >>> lp.writelines(text)                                    #将文件写入
     8 >>> lp.seek(0)
     9 0
    10 >>> for line in lp:                                      #输出文件内容
    11     print(line)
    12 
    13     
    14 是中国传统知识
    15 >>> lp.close()                                          #关闭文件
    复制代码

    七,将两个excle文件并存为csv格式文件

     代码如下

    复制代码
    # -*- coding:utf-8
    import pandas as pd
    
    def zhuan1(wenjian, mingcheng, baocun):
        grade = pd.read_excel(wenjian, sheet_name=mingcheng)
        for i in range(len(grade.index)):
            for j in range(1, len(grade.columns)):
                if grade.iloc[i, j] == '优秀':#查看第i行第j列
                    grade.iat[i, j] = 90#修改数据,转变成分数形式
                elif grade.iloc[i, j] == '良好':
                    grade.iat[i, j] = 80
                elif grade.iloc[i, j] == '合格':
                    grade.iat[i, j] = 60
                elif grade.iloc[i,j] == '不合格':
                    grade.iat[i,j] = 60
                else:
                    grade.iat[i, j] = 0
        grade.to_csv(baocun)
    
    
    def zhuan2(wenjian, mingcheng, baocun):
        grade = pd.read_excel(wenjian, sheet_name=mingcheng)
        Grade = grade.replace("优秀", "90")#替换为分数形式
        Grade = Grade.replace("良好", "80")
        Grade = Grade.replace("不合格", "60")
        Grade = Grade.replace("合格", "60")
        Grade = Grade.fillna(value = 0)
        Grade.to_csv(baocun)
    
    zhuan2("D:\Python成绩(2).xlsx", "Sheet1", "D:\Python_1.csv")
    zhuan1("D:\Python成绩登记信计(1).xlsx", "Sheet1", "D:\Python_2.csv")
    复制代码

    结果如图所示

    原图:python成绩(2)

    转换之后

    原图:python成绩登记信计(1)

    转换之后

  • 相关阅读:
    JS魔法堂:阻止元素被选中
    JS魔法堂之实战:纯前端的图片预览
    CentOS6.5菜鸟之旅:纯转载Linux目录结构
    Vim杂记:Sublime的配色方案
    Vim杂记:markdown插件
    CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
    JS魔法堂:Data URI Scheme介绍
    CentOS6.5菜鸟之旅:安装ATI显卡驱动
    JS魔法堂:获取当前脚本文件的绝对路径
    腊八蒜
  • 原文地址:https://www.cnblogs.com/hch123/p/hch-wenjiang.html
Copyright © 2011-2022 走看看