python 文件操作(二)之读写.npy;txt,tsv,csv,excel;json文件等

目录

 一、读写.npy文件

二、读写tsv,txt,csv,excel文件

三、python序列化模块

1、JSON(JavaScript Object Notation)

                   2、pickle模块


 一、读写.npy文件

import csv
import pandas as pd
import numpy as np
import sys

# 读取文件
entity_emb = np.load('../data/DRKG_TransE_l2_entity.npy')
rel_emb = np.load('../data/DRKG_TransE_l2_relation.npy')


# 将数组中数据写入到.txt文件
np.savetxt("./entity2vec.txt",entity_emb)     

二、读写tsv,txt,csv,excel文件

参考:https://blog.csdn.net/Tanqy1997/article/details/124057582

三、python序列化模块

序列化原因:https://www.jb51.net/article/135407.htm

1.便于存储。序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,从硬盘中读取数据,然后再将其反序列化便可以得到原始的数据。在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中的Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。

2.便于传输。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把這个对象转换为字节序列,在能在网络上传输;接收方则需要把字节序列在恢复为对象。

1、JSON(JavaScript Object Notation)

1、定义:

一种轻量级、跨平台、跨语言的数据交换格式

设计意图:It is easy for humans to read and write. It is easy for machines to parse and generate.

JSON is built on two structures:

  • A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
  • An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence

参考资料:[1]http://c.biancheng.net/view/2423.html

                  [2]JSON

                  [3]常用的数据交换格式_lostPontifex的博客-CSDN博客_数据交换格式

2、读写json文件 

import json

numbers = [1, 3, 5, 7, 9]

filename = 'numfile.json'
# 数组写入json文件
with open(filename, 'w') as f:
    json.dump(numbers, f)
    

# 读取json文件
with open(filename, 'r') as f:
    readnum = json.load(f)
    
print(readnum)


# 输出
[1, 3, 5, 7, 9]

 2、pickle模块

 1、“Pickling”是将Python对象层次结构转换为字节流的过程,

 “unpickling”是反向操作,从而将字节流(来自二进制文件或类似字节的对象)转换回对象层次结构。

 pickle模块对于错误或恶意构造的数据是不安全的

2、pickle 与 json的区别:python——pickle模块的详解 - Baby-Lily - 博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值