iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python保存数据方法总结
  • 186
分享到

python保存数据方法总结

python数据分析pandas 2023-09-05 12:09:09 186人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python写入保存数据方法 一.使用open()函数介绍open()函数相关使用方法1.保存格式为txt2.数据保存格式为csv1. 数据为字典类型2. 数据为数组类型3. 数据格式为JSO

python写入保存数据方法

一.使用open()函数

介绍open()函数相关使用方法

==完整的语法格式为:==
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明:
1.file: 必需,文件路径(相对或者绝对路径)。
2.mode: 可选,文件打开模式
3.buffering: 设置缓冲
4.encoding: 一般使用utf8
5.errors: 报错级别
6.newline: 区分换行符
7.closefd: 传入的file参数类型
8.opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。

mode的参数介绍

模式描述
r只读的方式打开文件,文件会将指针放在文件的开头,是默认模式
r+打开文件用于读写
w打开文件只用于写入,如果该文件存在则打开文件,并从头开始编辑,也就是原有的内容会被删除,如果文件不存在,则创建新文件
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

操作代码如下:
write()方法写入数据

#write方法f=open('test.txt','w')f.write("每天哦")#写入数据f.write("你好")f.close()#关闭文件print("写入完成")#test.txt内容如下:#每天哦你好#再一次进行写入操作f=open('test.txt','w')f.write("每天都要加油哦!nihao1")#写入数据f.write("sdhsgfjhkgkj")f.close()print("写入完成")#test.txt内容如下:#每天都要加油哦!nihao1sdhsgfjhkgkj

writelines() 方法用于向文件中写入一序列的字符串。这一序列字符串可以是由迭代对象产生的,如一个字符串列表。换行需要制定换行符 \n。

f=open('test.txt','w')f.writelines(["每天哦","skdhfkjgrfshj"])#写入数据f.writelines(["每天哦\n","skdhfkjgrfshj"])#加入换行符f.close()print("写入完成")#文本结果如下:#每天哦skdhfkjgrfshj每天哦#skdhfkjgrfshj

write()里面只可以写入一个字符窜,不然会报错,同样writelines()里面需要时一序列,比如数组

**接下来我们来看看a模式**#先使用w模式写入10个数f=open('test.txt','w')for i in range(10):    f.write(str(i)+'\n')    f.close()print("写入完成")#文件内容结果如下:0123456789#接着把w改写成af=open('test.txt','a')for i in range(10):    f.write(str(i))    f.close()print("写入完成,改写为a")#文本内容显然已经在后面添加数字01234567890123456789

我们创建和打开文件还有种书写方式,相比之下比上述更方便,那就是with open

with open可以说是open的优化用法或高级用法,相比open更加简洁、安全
open函数必须搭配.close()方法使用,先用open打开文件,然后进行读写操作,最后用.close()释放文件。with open则无需.close()语句,所以说简洁。如以下例子。虽然只少了一行代码,但也确实是少了。

上述代码写成with open形式如下代码:

with open('test.txt','a')as f:    for i in range(10):        f.write(str(i))print("完成写入")

顺便提一下怎么使用python打开查看文件
代码如下:

#with open("D:/learnpy/test.txt",'r')as f:    去掉r,斜杠变成反斜杠也可以with open(r"D:\learnpy\test.txt",'r')as f:    l=f.read()print(l)print("finish")#结果:>>> ========================= RESTART: D:\learnpy\open().py ========================314日,英皇电影巡礼活动上,成龙、张学友、谢霆锋、张家辉等台下同框。这次的巡礼阵容十分豪华基本上把英皇的不老男神都请来了。finish>>> 

1.保存格式为txt

```Pythondata="3月14日,英皇电影巡礼活动上,成龙、张学友、谢霆锋、张家辉等台下同框。这次的巡礼阵容十分豪华基本上把英皇的不老男神都请来了。"with open('test.txt','w')as f:    f.write(data)print("finish")#其他数据照旧,主要是写入的类型属于字符串就行,建议是最后使用writelines(),这个可以写入多条数据,比较灵活

写入的文本内容如图所示
在这里插入图片描述

2.数据保存格式为csv

写入数据到csv文件,需要创建一个writer对象,主要用到两个方法。一个是writerow,这个是写入一行。一个是writerows,这个是写入多行。

import csvwith open("D:/learnpy/test.csv",'w',newline='')as f:    data={'name':'小明','age':'23','sex':'女'}    data1=[('xiao',21),('sdhfsj',89)]    #创建writer对象    writer=csv.writer(f)    #加入表头    writer.writerow(['姓名','年龄'])    writer.writerows(data1)#写入数据

写好打开文件如下:
在这里插入图片描述
注意:如果不加newline=’ '就可能出现如下情况:
在这里插入图片描述

数据格式划分:

1. 数据为字典类型

import csvwith open("D:/learnpy/test.csv",'w',newline='')as f:    data={'name':'小明','age':'23','sex':'女'}    writer=csv.DictWriter(f,['name','age','sex'])    writer.writeheader()#写入数据表头    writer.writerow(data)print("finish")

数据写入:
在这里插入图片描述
写入多条数据可以使用writerows():

import csvwith open("D:/learnpy/test.csv",'w',newline='')as f:    data={'name':'小明','age':'23','sex':'女'}    data1={'name':'明','age':'89','sex':'女'}    writer=csv.DictWriter(f,['name','age','sex'])    writer.writeheader()#写入数据表头    writer.writerows([data,data1])print("finish")

在这里插入图片描述

2. 数据为数组类型

import csvwith open("D:/learnpy/test.csv",'w',newline='')as f:    '''data={'name':'小明','age':'23','sex':'女'}    data1={'name':'明','age':'89','sex':'女'}    writer=csv.DictWriter(f,['name','age','sex'])    writer.writeheader()#写入数据表头'''    l1=['小话','21']    l2=['小名','22']    writer=csv.writer(f)    writer.writerow(['姓名','年龄'])#添加表头    writer.writerows([l1,l2])print("finish")

在这里插入图片描述

3. 数据格式为JSON格式

import csvimport jsonwith open("D:/learnpy/test.csv",'w',newline='')as f:    data=[{ "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },{ "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] },{ "name":"Taobao", "info":[ "淘宝", "网购" ] }]    print(type(data))    headers=data[0].keys()    json_values=[]    for i in data:        json_values.append(i.values())    writer=csv.writer(f)    writer.writerow(headers)#添加表头    writer.writerows(json_values)print("finish")

在这里插入图片描述

4. 注意字典类型与JSON格式区别:

  1. 字典
    字典是一种数据结构,是python中的一种数据类型;以 key:value 的形式存储数据,在一个字典中不允许出现两个相同的key值,如果出现,后面一个key值会覆盖前面的key值。
    语法格式:
    dic = {‘name’: ‘张’, ‘age’: 11, ‘性别’: ‘男’}
    注意:key、value都可以用单引号、双引号引起来。
  2. Json
    Json是一种打包的数据格式,本质上是字符串,也是按照 key:value 来存储数据,key 只能是字符串,且可以有序、重复;必须使用双引号作为key或者值的边界符,不能使用单引号.
    语法格式:
    json = ‘{“name”: “jim”, “languages”: [“Python”, “Java”]}’
    注意:key、value 必须用双引号引起来。

参考以下文章链接,详细介绍了两者区别以及相关转换: https://blog.csdn.net/qq_41674508/article/details/127430297

3.保存多媒体文件格式操作

  1. 保存图片(从网上下载图片直接保存到本地电脑操作,采用爬虫技术,使之成自动化
import requestsurl='https://gimg3.baidu.com/search/src=Http%3A%2F%2Fpics4.baidu.com%2Ffeed%2F50da81cb39dbb6fd6abb732c2b227513962b37ed.jpeg%40f_auto%3Ftoken%3D8b6c38eae63037212d4e6bdbbcac2781&refer=http%3A%2F%2Fwww.baidu.com&app=2021&size=f360,240&n=0&g=0n&q=75&fmt=auto?sec=1678986000&t=347b98cded13deea606b43ecee356eae'res=requests.get(url)img=res.content#图片是以二进制方式打开with open('1.jpg','wb')as f:    f.write(img)    print("下载成功")

在这里插入图片描述

保存音频

import requestsurl='http://vd3.bdstatic.com/mda-mbtq5ugnhbjwzens/v1-cae/mda-mbtq5ugnhbjwzens.mp4?playlist=%5B%22sc%22%2C%221080p%22%2C%22hd%22%5D'res=requests.get(url)img=res.contentwith open('2.mp4','wb')as f:    f.write(img)    print("下载成功")

在这里插入图片描述

4.批量下载保存文件操作

可参考一下这篇:链接: https://blog.csdn.net/qq_52764364/article/details/129602239
其他类型的文件格式类似

二·使用pandas保存文件

1.保存格式为csv

import pandas as pddata=pd.DataFrame({"姓名":["mary","jack"],"年龄":[22,21]})data.to_csv("info.csv",index=False)#默认index为trueprint("保存完成")

这样写中文出现乱码的情况了,
在这里插入图片描述

修改代码

#只需要这样改,把编码方式改成utf-8_sigdata.to_csv("info.csv",index=False,encoding="utf-8_sig")#结果如下:

在这里插入图片描述

2.保存格式为xlsx

header默认参数为True,如果没有设置header参数,它会自动添加列索引
也可以在header=[“”,“”,“”]方式添加表头
或者不添加索引,如下图代码

import pandas as pddata=pd.DataFrame([["ni","cjm",32],["你好","fjd",90]])#data=pd.DataFrame({"姓名":["mary","jack"],"年龄":[22,21]})data.to_excel("info.xlsx",header=False,index=False,encoding="utf-8_sig")print("保存完成")

在这里插入图片描述

总结

上述内容是python保存数据的一些方法的总结,一些不同数据类型的保存方法选择,以及涉及到pandas的一些使用,其实我主要是为了,在网上爬取数据时,针对爬取的数据进行怎么样的保存处理方法做了一个大致的总结,因为自己每次保存数据都不知道从哪里下手,不过,这次好好地整理了一下,这样下次就以更快的保存数据,还有就是,有时候保存数据或者读取数据,会出现报错的情况或者权限不允许,这建议把保存文件的路径写完整,试一试

来源地址:https://blog.csdn.net/qq_52764364/article/details/129527369

--结束END--

本文标题: python保存数据方法总结

本文链接: https://www.lsjlt.com/news/395332.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python保存数据方法总结
    python写入保存数据方法 一.使用open()函数介绍open()函数相关使用方法1.保存格式为txt2.数据保存格式为csv1. 数据为字典类型2. 数据为数组类型3. 数据格式为JSO...
    99+
    2023-09-05
    python 数据分析 pandas
  • Android应用开发中数据的保存方式总结
    一、保存文件到手机内存 public static void saveToRom(Context context, String name , String passwo...
    99+
    2022-06-06
    数据 Android
  • python怎么保留两位小数?几种方法总结!
    很多小伙伴在学习python的时候可能会遇到对数据进行格式化输出的需求,其中最常见的需求为:保留几位小数。今天小编就以python怎么保留两位小数为例,来介绍一下python数据格式化的方法。 使用字符串格式化 大部分语言都可以使用字符串格...
    99+
    2023-10-23
    python 开发语言 算法
  • Python进行数据提取的方法总结
    准备工作 首先是准备工作,导入需要使用的库,读取并创建数据表取名为loandata。 import numpy as np import pandas as pd loandata=pd.DataFr...
    99+
    2022-06-04
    方法 数据 Python
  • Python中八种数据导入方法总结
    目录两种获取help的方法使用Numpy中的info方法Python内置函数一、文本文件1、纯文本文件2、表格数据:Flat文件二、Excel 电子表格三、SAS 文件四、Stata...
    99+
    2022-11-11
  • python保存两位小数的多种方法汇总
    目录一、保留两位小数 且 做四舍五入处理1、使用字符串格式化2、使用python内置的round() 函数3、使用python内置的decimal模块二、保留两位小数 且 不做四舍五...
    99+
    2022-11-12
  • 【Pandas总结】第五节 Pandas 数据查询方法总结_df.loc()总结
    文章目录 一、写在前面二、查询方法:`df.loc()`2.1 查询单个值2.2 查询列表对应的值2.3 查询区间内的结果2.4 条件查询2.5 按照函数要求查询 三、写在最后 ...
    99+
    2023-09-26
    pandas python 数据分析
  • Python常用数据结构和公共方法技巧总结
    目录1. 列表1.1 列表的定义1.2 列表常用操作1.3 循环遍历1.4 应用场景2. 元组2.1 元组的定义2.2 元组常用操作2.3 循环遍历2.4 应用场景3. 字典3.1 ...
    99+
    2022-11-11
  • python三种数据结构及13种创建方法总结
    目录字符串的3种创建方式列表的5种创建方式字典的5种创建方式Python常用的数据结构,有如下几种。但是我们用的最多的,还是字符串、列表、字典这3种。 其实学习任何一门编程语言,最...
    99+
    2022-11-12
  • Android App中各种数据保存方式的使用实例总结
    少量数据保存之SharedPreferences接口实例 SharedPreferences数据保存主要是通过键值的方式存储在xml文件中 xml文件在data/此程序的包名/...
    99+
    2022-06-06
    数据 app Android
  • Python Pandas常用函数方法总结
    初衷 NumPy、Pandas、Matplotlib、SciPy 等可以说是最最最常用的 Python 库了。我们在使用 Python 库的时候,通常会遇到两种情况。以 Pandas 举例。 我想对 Pan...
    99+
    2022-06-02
    Pandas常用函数方法 python pandas
  • Python Pandas多种添加行列数据方法总结
    目录前言1. 增加列数据2. 增加行数据补充:pandas根据现有列新添加一列总结前言 发现自己学习python 的各种库老是容易忘记,所有想利用这个平台,记录和分享一下学习时候的知...
    99+
    2022-11-11
  • Python字典方法总结
    1.清空字典中元素清空,dict变为{}    L.clear()-> None.  Remove all items from L>>> L ={'shaw':23,'sam':36,"eric":40}>&...
    99+
    2023-01-31
    字典 方法 Python
  • python enumerate函数的使用方法总结
    enumerate函数用于遍历序列中的元素以及它们的下标。 enumerate函数说明: enumerate()是python的内置函数 enumerate在字典上是枚举、列举的意思 函数原型:enu...
    99+
    2022-06-04
    使用方法 函数 python
  • python向json中追加数据的两种方法总结
    目录前言1. list dump (不推荐)2. json update (推荐使用)总结前言 json以其轻量级的数据交换格式,且易于阅读和编写而使用率很广泛,而使用json的过程...
    99+
    2022-11-11
  • Python时间序列数据的预处理方法总结
    目录前言时间序列中的缺失值时间序列去噪滚动平均值傅里叶变换时间序列中的离群值检测基于滚动统计的方法孤立森林K-means 聚类面试问题总结前言 时间序列数据随处可见,要进行时间序列分...
    99+
    2022-11-11
  • Python数据类型总结
    第1章 数据类型:1.1可变or不可变类型(变量值):变量的三个特点:id/type/value可变类型:值改变,但id不变,证明就是在改变原值不可变类型:值改变,id也跟着变了,证明申请了新的内存空间来存新值,根本没有改变量值Ø  证明浮...
    99+
    2023-01-31
    数据类型 Python
  • Python 序列的方法总结
    最近在做Python 的项目,特地整理了下 Python 序列的方法。序列sequence是python中最基本的数据结构,本文先对序列做一个简单的概括,之后简单讲解下所有序列都能通用的操作方法...
    99+
    2022-06-04
    序列 方法 Python
  • java调用python方法总结
    http://download.csdn.net/detail/xingjiarong/9429266 下载jython包,把其中的jython.jar添加到工程目录 一、在java类中直接执行python语句 import or...
    99+
    2023-01-31
    方法 java python
  • Python类方法总结讲解
    一、类方法 在类中的函数称为类方法。与普通函数定义稍有区别。 1.普通方法 1.1 普通方法定义 普通方法与一般函数的定义稍有区别的点在于第一个参数是self,,指代的意思是指向...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作