Python文件操作(json、csv、tsv、excel、pickle文件序列化)

  大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。希望和大家一起成长进步。

  本文主要介绍了Python文件操作(json、csv、tsv、excel、pickle文件序列化),希望能对学习Python的同学们有所帮助。

文章目录

  • 1. 文件类型
    • 1.1 曾经遇到的坑
    • 1.2 文本文件 vs. 二进制文件
    • 1.3 Linux file命令
  • 2. 文件读写
    • 2.1 普通文本文件
      • 2.1.1 普通文本的读取
      • 2.1.1.1 全文读取
      • 2.1.1.2 逐行读取
      • 2.1.2 普通文本的写入
    • 2.2 json文件
      • 2.2.1 原生json库
      • 2.2.2 pandas.read_json
        • 2.2.2.1 ValueError: Trailing data错误解决方案
        • 2.2.2.2 从第i行开始读取
    • 2.3 csv、tsv等格式文件
      • 2.3.1 输入是字符串时如何导入
      • 2.3.2 分隔符sep
      • 2.3.3 表头header
      • 2.3.4 分批读入
    • 2.4 excel文件
    • 2.5 pickle文件序列化
      • 2.5.1 UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xdb in position 2: ordinal not in range(128)
    • 2.6 读取大文件
    • 2.7 YAML文件
      • 2.7.1 读取字典形式的字符串
  • 3. 文件路径迭代
    • 3.1 os.walk
    • 3.2 glob
  • 4. 对输入文件名(argv)进行处理
  • 5. 文件内容搜索
    • 5.1 逐行遍历匹配内容

1. 文件类型

1.1 曾经遇到的坑

  对于初学者来说,非常容易犯的一个错误就是认为后缀名等同于实际的文件类型。虽然大部分的确如此,但是偶尔遇到一两次(我曾经遇到过把xlsx文件后缀名修改成了csv)也会耗费不少的时间去排查程序中的bug,因为如果没有遇到过,可能就很难想到问题是出在这里。

1.2 文本文件 vs. 二进制文件

  简单的说,通过代码编辑器如sublime打开后,如果设置的编码方式是正确的,得到的就是文本内容;反之,通过任何编码方式得到的都是乱码则就是二进制文件。

  常用的二进制文件类型如office文档(doc、docx、xls、xlsx、ppt、pptx)、压

你可能感兴趣的:(机器学习入门之工具篇,Python新手快速入门,python,文件操作)