Python学习之旅-10-文件储存:txt文件、csv文件、json文件

1.存储数据txt文件。

1.1 实例:

# 1 存储 txt 文件

data = ‘‘‘我是一个txt文件‘‘‘
# 存储的文件名:file=‘test.txt‘
# 文件打开方式:mode=‘a‘
# 编码格式:encoding=‘UTF-8‘
with open(file=‘test.txt‘,mode=‘a‘,encoding=‘UTF-8‘) as f :
    f.write(data)       # 保存内容
    f.close()           # 关闭文件

1.2 打开文件的不同模式:

模式 描述
r r,以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb rb,以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ r+,打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ rb+,以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w w,打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb wb ,以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ w+, 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ wb+,以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a a,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ a+,打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ ab+,以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

2.存储csv文件

2.1 实例一:存储一行文件

import csv  # 导入csv模块

# 实例一:存储一行文件

info_1 = [‘name‘, ‘age‘, ‘sex‘]
info_2 = [‘老王‘, ‘30‘, ‘男‘]

# 存储的文件名:‘test_info.csv‘
# 文件打开方式:‘a‘
# 编码格式:encoding=‘ANSI‘,设置编码格式为ANSI可以避免Excel软件打开出现乱码的情况。
# newline=‘‘ ,如果不设置该参数,相邻两行之间会出现一行空格。
with open(‘test_info.csv‘, ‘a‘, encoding=‘ANSI‘, newline=‘‘)as f:
    writer = csv.writer(f)  # 调用csv库的 writer()方法初始化写入对象
    writer.writerow(info_1)  # 保存第一行数据
    writer.writerow(info_2)  # 保存第二行数据

输出内容:

name age sex
老王 30

2.2 实例二:存储字典形式的数据

import csv  # 导入csv模块

# 实例二:存储字典形式的数据

info = {
    ‘name‘: ‘老王‘,
    ‘age‘: ‘30‘,
    ‘sex‘: ‘男‘,}

with open(‘test_info_2.csv‘,‘a‘,encoding=‘ANSI‘,newline=‘‘) as f:
    fieldnames = [‘name‘, ‘age‘, ‘sex‘]                 # 设置文件的头部
    writer = csv.DictWriter(f,fieldnames=fieldnames)    # 使用DictWriter()方法初始化写入对象
    writer.writeheader()                                # 首先写入文件的头部
    writer.writerow(info)                               # 存储文件主要内容

2.3 实例三:存储多个字典形式的数据

import csv  # 导入csv模块

# 实例三:存储多个字典形式的数据

info =[ {‘name‘: ‘老王‘,‘age‘: ‘30‘,‘sex‘: ‘男‘,},
        {‘name‘: ‘老大‘,‘age‘: ‘1‘,‘sex‘: ‘男‘,},
        {‘name‘: ‘老2‘, ‘age‘: ‘2‘, ‘sex‘: ‘女‘ },
        {‘name‘: ‘老3‘, ‘age‘: ‘3‘, ‘sex‘: ‘男‘ }]

with open(‘test_info_2.csv‘,‘a‘,encoding=‘ANSI‘,newline=‘‘) as f:
    fieldnames = [‘name‘, ‘age‘, ‘sex‘]                 # 设置文件的头部
    writer = csv.DictWriter(f,fieldnames=fieldnames)    # 使用DictWriter()方法初始化写入对象
    writer.writeheader()                                # 首先写入文件的头部
    writer.writerows(info)                               # 存储文件主要内容

    # 注意:最后存储主要文件处使用的是:writerows() 方法,比储存单个文件多了一个s。

输出内容:

name age sex
老王 30
老大 1
老2 2
老3 3

3.存储JSON文件

  • Json,全称为 JavaScript Object Notation, 也就是 JavaScript 对象标记,通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,它是一种轻量级的数据交换格式。

3.1 Json 文件的转换操作:

  • loads() 方法将 Json 文本字符串转为 Json 对象。
  • dumps()方法将 Json 对象转为文本字符串。

实例:

import json  # 导入json模块

info = ‘‘‘[
        {"name": "老王","age": "30","sex": "男"},
        {"name": "老大","age": "1","sex": "男"}
        ]‘‘‘

print(type(info))  # 先打印看看info的类型
# 输出内容:<class ‘str‘>

# 1. 把字符串转化为 json文件

info_1 = json.loads(info)  # 把字符串转换为json文件
print(type(info_1))  # 打印新文件info_1的类型
print(info_1)  # 打印info_1
# 输出内容:<class ‘list‘>
# 输出内容:[{‘name‘: ‘老王‘, ‘age‘: ‘30‘, ‘sex‘: ‘男‘}, {‘name‘: ‘老大‘, ‘age‘: ‘1‘, ‘sex‘: ‘男‘}]

# 2. 把json文件转化为字符串

info_2 = json.dumps(info_1)  # 把字符串转换为json文件
print(type(info_2))  # 打印新文件info_2的类型
# 输出内容:<class ‘str‘>

3.2 保存和读取json文件

import json  # 导入json模块

info = ‘‘‘[
        {"name": "老王","age": "30","sex": "男"},
        {"name": "老大","age": "1","sex": "男"}
        ]‘‘‘

# 1.输出为json文件
with open(‘test_json.json‘,‘w‘) as f:
    f.write(json.dumps(info))       #利用dumps()方法把json对象转为字符串,然后使用write()方法写入文件

# 2. 读取json文件
with open(‘test_json.json‘,‘r‘) as f:
    str = f.read()
    data = json.loads(str)          #利用loads()方法把字符串转化,然后打印出来
    print(data)

注意: Json 的字符串数据表示需要使用双引号,不能使用单引号,否则loads()方法会解析失败。

原文地址:https://www.cnblogs.com/jasontang369/p/9245935.html

时间: 2024-08-08 16:30:56

Python学习之旅-10-文件储存:txt文件、csv文件、json文件的相关文章

180分钟的python学习之旅

最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时间即可,因此也吸引了我不小的兴趣.之前相亲认识过一个姑娘是做绿色环保建筑设计行业的,提过她们的建筑物的建模也是使用Python,虽然被女神给拒绝了,但学习还是势在必行的,加油. 这部分只涉及python比较基础的知识,如复杂的面向对象.多线程.通信等知识会放在之后的深入学习中介绍,因此整个学习过程也

apue和unp的学习之旅10——基本udp套接字编程

使用UDP编写的一些常见的应用程序有:DNS(域名系统),NFS(网络文件系统),SNMP(简单网络管理协议). //---------------------------------1.recvfrom函数和sendto函数---------------------------------- #include <sys/socket.h> ssize_t  recvfrom(int sockfd, void* buff, size_t nbytes, int flags, struct so

MapGIS6.7_学习中遇到的问题(4):用户点文件(.txt)转MapGIS点文件(.WT)

用户点文件(.txt)转MapGIS点文件(.WT)主要是利用MapGIS软件中的[实用服务]->[投影变换]->[P投影转换]菜单下的->[U用户文件投影转换]功能实现. 数据准备 1.在excel中输入坐标点(格式:DDMMSS)及相关属性: 2.将输入好的点坐标及属性直接复制到.txt文件中保存: MapGIS操作步骤: 1.依次点击MapGIS软件中的[实用服务]->[投影变换]->[P投影转换]菜单下的->[U用户文件投影转换]菜单,在弹出的[用户数据点文件投

CSV、JSON文件导入到mongo数据库

首先生成一个文本文件,可以是json或者csv的,每行一条数据,很好整理吧,用一般的文本编辑器或者从office中都可以生成. 然后执行下面的导入命令: /usr/local/mongodb/bin/mongoimport -d cms -c cms_tags_20120727 –type csv –file /tmp/tag0810.csv -h localhost -port 11111 –upsert -f name 参数说明: -d 数据库名 -c collection名 –type 文

Python学习之旅—Day05(文件操作)

前言: 前面5篇博客主要对Python的相关基础知识和重点疑难问题进行了相关整理,本篇博客主要针对文件操作相关知识点来做一个系统性的梳理,以期帮助大家快速掌握文件操作的知识. 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 1.打开文件 要想操作文件,我们首先需要以读文件的模式打开一个文

我的Python学习之旅1

什么是Python? 可以理解为"一种解释型的.面向对象的.带有动态语义的高级程序设计语言" Python的发展,可以分成以下几个重要的阶段: ---CNRI时期:CNRI是资助Pyhon发展初期的重要单位,Python1.5版之前的成果大部分都在此时期内完成. ---BeOpen时期:Guido van Rossum与BeOpen公司合作,此期间将Python2.0推出,甚至Python1.6也同时问世,但 原则上已经分别维护了. ---DC时期:目前Guido已经离开BeOpen公

iOS学习之旅10 ATS(App Transport Security)对HTTPS协议要求引起的问题

问题描述 编写以下代码获取网络某个资源的MIMEType 1 -(void)getMIMEType 2 { 3 //路径 4 NSURL *url = [NSURL URLWithString:@"https://www.baidu.com/img/bd_logo1.png"]; 5 //请求对象 6 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 7 NSOperationQueue *

Python学习之旅 —— 基础篇(六)模

本篇要点: 模块   一.模块 模块是实现某个功能的代码集合 函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块.   模块的种类 模块分为三种:     内置标准模块(标准库)     第三方模块(开源模块)     自定义模块   1.自动以模块 & 导入模块 使用模块前需要先将模块导入,模块导入的方式: # 单模块,且在同一目录下,建

Python学习之旅(二十二)

Python基础知识(21):IO编程 一.文件读写 读写文件就是请求操作系统打开一个文件对象(文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件) 1.读文件 "r"默认读取文本文件,"rb"读取二进制文件,如图片.视频等 >>> f=open("D:\Python\doit\hello.txt","r") >>> f.read