首页 > 编程语言 >常用文件读取(python)

常用文件读取(python)

时间:2023-08-16 15:47:06浏览次数:37  
标签:文件 常用 读取 python data Python file pickle PKL

CSV文件

CSV(Comma-Separated Values)是一种常见的文本文件格式,用于存储结构化的数据。CSV文件中的数据是以逗号(或其他指定的分隔符)分隔的文本行,每一行表示一条记录,每个字段表示记录中的一个属性或值。

读CSV

import csv
import codecs
file_name = ""
with open(file_name, "r", encoding="gbk") as f_r:
    for row in csv.DictReader(f_r, skipinitialspace=True):
        data = dict(row)
        print(data["key1"], data["key2"])

写CSV

with open(file_name, mode="r+", encoding="gbk") as f_w:
    titile = ["sentence", "label"]
    writer = csv.DictWriter(f_w, fieldnames=titile)
    writer.writeheader()
    for data in dataset:
        writer.writerow({"sentence":data[0], "label":data[1]})

JSON格式数据写入文件

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于存储和表示结构化的数据。JSON使用键值对的形式表示数据,使用"键: 值"的结构,并使用逗号分隔不同的键值对。

with open(file_name, "w", encoding="gbk") as f_w:
    for data in dataset:
        f_w.write(json.dumps(data) + "\n")   // 注意:这个\n必须带上

PKL文件

PKL文件是一种用于Python的序列化文件格式,它被称为pickle文件。pickle提供了一种在Python中将对象转换为字节流,并在需要时将其还原回对应的对象的方法。它可以用于将Python对象序列化并保存到文件中,或者从文件中读取序列化的数据并还原回对象。
PKL文件具有以下特点和用途:

  1. 序列化和反序列化:通过pickle模块,可以将Python中的对象序列化为字节流,保存为PKL文件。反之,也可以从PKL文件中读取字节流,并还原为原始的Python对象。
  2. 支持多种数据类型:pickle可以序列化并还原几乎任何Python对象,包括自定义类、集合(如字典、列表、元组等)、函数、模块等。
  3. 对象持久化:PKL文件能够将对象持久化保存,以便以后在需要时进行访问和使用。这在缓存数据、存储模型等场景下非常有用。
  4. 跨平台使用:PKL文件可以在不同的Python环境和操作系统之间进行迁移和共享。只要Python版本一致,就可以在不同的机器上读取和使用PKL文件。
  5. 注意事项:需要注意的是,pickle文件是二进制文件,因此需要以二进制模式进行读取和写入,使用'rb'(读取二进制)和'wb'(写入二进制)模式。

使用pickle保存对象到PKL文件的示例:

import pickle
data = {
    'name': 'John',
    'age': 30,
    'city': 'New York'
}
with open('data.pkl', 'wb') as file:
    pickle.dump(data, file)

从PKL文件中加载对象示例:

import pickle
with open('data.pkl', 'rb') as file:
    loaded_data = pickle.load(file)
print(loaded_data)  # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}

标签:文件,常用,读取,python,data,Python,file,pickle,PKL
From: https://www.cnblogs.com/lyq622/p/17634642.html

相关文章

  • 计数排序(Python)
    defcounting(data):"data里的value作为计数数组counts的index,然后把counts的value转换成data的index"#计数列表,存储每个值有多少个,以data的值作为索引,所以数组长度以最大值+1为准counts=[0foriinrange(max(data)+1)]#同时给数组赋初值0,等会逐个计数......
  • if语句条件判断大集合--------------------------------------python语言学习
    准备数据: ##实现成绩大于等于600为优秀,其他为普通等级上代码:importpandasaspddf=pd.read_excel('C:/Users/Administrator/Desktop/test1.xlsx',header=1)defscore_if(score):ifscore>=600:a="优秀"returnaelse:a="普通"......
  • python编程从入门到实践(第2版)学习笔记(变量,字符串)
    变量变量是一种可以赋给值的标签。每一个变量都指向一个相关联的值,下列代码中message即为变量,指向的值为“HelloPythonworld!”message="HelloPythonworld!"print(message)第二行的print()函数用于打印输出这个message变量所关联的值。且变量的值是可以修改的,p......
  • openssl 常用命令
    openssl是目前最流行的SSL密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL(Secure Sockets Layer)/TLS(Transport Layer Security)协议的实现官网:https://www.openssl.org/source/#生成RSA私钥(无加密)opensslgenrsa2048>rsa_private.key......
  • python操作SQLite数据库
    1、脚本#!/usr/local/python3.8/bin/python3#-*-coding:UTF-8-*-importsqlite3importredefdict_factory(cursor,row):#将游标获取的数据处理成字典返回#cursor.description:获取表头d={}foridx,colinenumerate(cursor.description):......
  • Linux常用命令
    1.目录进入目录:cdxxx返回当前用户的根目录: cd返回上一级目录:cd..进入当前目录的xxx目录:cd./xxx2.用户切换用户:su 用户名新增用户:useradd-g 用户组:用户新增用户组:groupadd用户组添加用户密码:passwd 用户查看所有用户:vim/etc/passwd查看所有用户组:vim/etc......
  • python+selenium(windows10) 安装
    1.安装python2. 安装selenium(piplist查看是否已安装)2.1 cmd窗口输入:pip(如果有内容显示,说明正常)        2.2 cmd输入指令安装selenium:pipinstallselenium==* .**.**( 也可以不指定版本)【如果安装中途断了,重新安装即可,不影响效果】 ......
  • python第七天
    一、元组(tuple)元组:元组的排列是有顺序的,可以进行切片,元组的数据不可以进行修改建议:元组在写的时候在最后加逗号(,),以区分参数数据例:tu=(111,"alex",(11,22),[(33,44)],True,22,33,44,)元组相当于对列表的二次加工元组具有2条功能count和index1、count对元组的指定数据进......
  • pageinfo-只能读取当前条数不能获取总条数
    pageInfo的total属性是当前页记录数,如何配置使total设置成总记录数原 PageHelper.startPage(page,pageSize);LambdaQueryWrapper<Credit>queryWrapper=newQueryWrapper<Credit>().lambda().eq(Credit::getUserId,dto.getUid());......
  • Python 如何自动遍历文件下所有的文件,然后再对每一个文件夹读取里面的csv文件
    Python如何自动遍历文件下所有的文件,然后再对每一个文件夹读取里面的csv文件:代码:importosimportcsv#设置要遍历的文件夹路径folder_path="your_folder_path"#遍历文件夹forroot,dirs,filesinos.walk(folder_path):#遍历当前文件夹下的所有文件for......