文件函数

  • seek

    seek(参数1,参数2) - 能够将指针移动指定的偏移量

    参数1:移动的偏移量,默认为0

    参数20 - 将指针移动到文件开头

    1 - (默认)- 指针指向当前位置

    2 - 指针移动到文件尾部

    f1 = open('界面.txt', 'r', encoding='utf-8')
    print(f1.read())
    # 将指针再移动到文件开头
    f1.seek(0, 0)
    

    界面.txt

    欢迎进入系统!
    **************************
    **    请选择对应功能:    **
    **       1. 登录        **
    **       2. 注册        **
    **       3. 退出系统     **
    **************************
    
    • 一个英文符号对应一个偏移量,一个汉字和一个中文符号对应3个偏移量
    • Python中有序序列(容器)下标从0开始;
    • Python操作文件时的偏移量从1开始
    f1.seek(2, 0)       # UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa2 in position 0: invalid start byte
    f1.seek(6, 0)   # 将指针移动到文件开头,再增加6个偏移量
    print(f1.read())
    
  • tell

    tell() - 查看当前指针的位置

    f1.tell()
    print(f1.tell())        # 156+(7+8+11)*2=208 windows定义结束是\r\n
    f1.close()
    

    换行:
    linux:\n
    windows: \r\n
    mac: \r
    \r 不计入长度,\t长度为1

    转义字符有特殊含义时,长度为1;代表本身时,长度为2

CSV文件读写

CSV文件本质是文本文件,只是以表格的形式展示数据

import csv - 使用CSV内置模块进行csv文件的读写操作

  1. 返回一个文件对象

    windows或者Linus操作系统会自动创建\n,写文件必须加newline=''

    newline = '' —> 将换行\n转为空

    f1 = open('./店铺信息.csv', 'w', encoding='utf-8', newline='')
    print(f1)
    
  2. 创建写方法对象

    mywrite = csv.writer(f1)        # 借助Python已经实现的CSV的模块实现想要实行的功能
    
  3. 写入列明

    单行写入:writerow()

    col = ['店铺名', '人均', '口味', '环境', '服务']
    mywrite.writerow(col)
    
  4. 写入对应信息

    多行写入:writerows()

    datas = [['吼堂老火锅', 126, 4.5, 4.7, 4.6],['小龙坎', 100, 4.8, '4.8', 4.7],['巴蜀大宅门', '70', '4.8', '4.6', 4.8],
    ]
    mywrite.writerows(datas)
    f1.close()
    

CSV文件读操作

f2 = open('./店铺信息.csv', 'r', encoding='utf-8')
# 创建读方法
myreader = csv.reader(f2)
for i in myreader:# print(i)for j in i:print('{:<8}'.format(j), end='')print()
f2.close()

使用excel打开CSV文件(使用wps可直接打开)

  1. 数据 —> 获取数据 —> 自文件 —> 从文本/CSV —> 在文件管理器中找CSV文件 —> 文件原始格式(UTF-8) —> 加载 —> 转换为区域
  2. (encoding=‘utf-8-sig’ 打开的表格不会乱码) 小众

CSV文件操作-酒店平均分

import csv
# 必须# 读数据
f1 = open('./北京高档酒店价格分析.csv', 'r', encoding='utf-8')
# 创建读文件的方法
read_data = csv.reader(f1)
data = list(read_data)
f1.close()# 创建新文件
f2 = open('./北京酒店信息.csv', 'w', encoding='utf-8', newline='')
# 写方法
mywrite = csv.writer(f2)
data1 = [i for i in data[0]]
data1.append('平均评分')
mywrite.writerow(data1)# 查看数据
for info in data[1:]:# print(info)score = round((float(info[3]) + float(info[4]) + float(info[5]) + float(info[6])) / 4, 2)result = f'{info[0]}的平均分为:{score}'# print(result)# 将平均分重新写入文件info.append(score)mywrite.writerow(info)f2.close()

day08学习 Python文件函数、CSV文件读写相关推荐

  1. 利用python中的csv库读写csv文件

    利用python中的csv库读写csv文件 python读写csv文件就我知道的方法有:1)利用csv库,2)利用读写txt文件的方式处理,3)利用numpy或pandas库处理 在这篇博客中,博主就 ...

  2. python学习——tsv文件批量转为csv文件、csv文件列合并

    写在前面--近日在处理数据的时候发现有的文件为csv文件,有的为tsv文件,大概搜了一下了解到:TSV是用制表符('\t')作为字段值的分隔符:CSV是用半角逗号(',')作为字段值的分隔符.http ...

  3. python中写入csv文件的方法_Python写入CSV文件的方法

    python笔记5-python2写csv文件中文乱码问题 前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面 ...

  4. python对数据进行分类、文件是csv文件_用Python将处理数据得到的csv文件分类(按顺序)保存...

    用Python中的os和numpy库对文件夹及处理数据后得到的文件进行分类保存: import numpy as np import os for m in range(699,0,-35): cur ...

  5. python怎么读取csv文件-python怎么读取csv文件

    Python读写csv文件 前言逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文 ...

  6. Python:读取 csv 文件并插入到 PostgreSQL 数据库

    目录 一.读取 csv 文件 二.创建数据库链接 三.读取 csv 数据并插入到数据库 一.读取 csv 文件 Python:使用 csv 模块读写 csv 文件 二.创建数据库链接 # -*- co ...

  7. python存成csv文件时中文乱码_Python在向CSV文件写中文时乱码的处理办法

    前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的. 对 ...

  8. python怎么读取csv文件-Python如何读取csv文件

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本). 纯文本意味着该文件是一个字符序列, ...

  9. python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

    python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...

  10. Python加载csv文件的两种方式

    本文主要讲解下Python加载csv文件的两种方式,如果知道如何处理的就不必往下看了! 下面来简单介绍下. 实例中的数据集是kaggle的Digit Recognizer的train.csv文件,数据 ...

最新文章

  1. 阿里带火的中台到底是什么?白话中台战略
  2. python深拷贝一个对象_Python对象的深拷贝和浅拷贝详解
  3. 干货 | 携程是如何做AB实验分流的
  4. Android 21mod,熊猫博士小镇合集 Mod
  5. 双纵坐标的绘图命令_工程师绘图必备软件——OriginLab 2019b
  6. C++中的也能使用正则表达式
  7. 英伟达或正与软银就收购ARM深入谈判,交易价值超过320亿
  8. mysql 出现 “1067 - Invalid default value for ‘UPDATE_TIME‘ “ 错误提示的解决办法
  9. HDFS文件权限不足导致Sqoop执行失败
  10. WinSCP 提示:你的Shell可能与本程序不兼容(推荐使用Bash)。
  11. (转)用AGG实现高质量图形输出(四)
  12. 会计计算机,什么是好的计算机会计软件?
  13. 计算机如何回到桌面,windows下电脑怎么回到桌面主页?
  14. 深入浅出TCP三次握手 (多图详解)
  15. 使用scrapy框架爬取携程旅行数据
  16. opencv 判断点在多边形内外
  17. excel不显示提示对话框
  18. JavaScript 导出 table 为 Excel 表格
  19. insmod 加载模块的过程
  20. 网页设计:Meta标签详解

热门文章

  1. 关于公众号的运营干货与常用的工具
  2. jquery实现截取pc图片_Cropper.js 实现裁剪图片并上传(PC端)
  3. vue 生命周期及watch、计算属性等等的理解
  4. 谁说大厂都用 React,微信读书官网用 Vue
  5. 空气开关A型、B型、C型、D型的区别
  6. 双软企业认定(软件产品/软件企业认定)
  7. 推荐5种不错的开源虚拟化技术软件
  8. [Android] 代码获取手机系统类型(小米MIUI、华为EMUI、魅族FLYME)
  9. 徐东山:腾讯云安全的使命和技术实现
  10. 导图解房(03) MECE法则解读房屋属性