python对json对象或json数组操作以及读写各类txt,csv,html,xls文件的工具类

python对json数组和json对象操作以及读写各类txt,csv,html,xls文件的工具类

个人工具类,各取所好。

1.对json数组和json对象的操作

在python中,一个 Json 对象里面包含了很多信息,那么如何从这些数据中拿到我们想要的呢?
在之前的

python对象与json格式的数据类型转化

一文中已经说明如何操作一个json对象,本文是再补充一个常见的还有处理 Json 数组 的。

python 的 json 模块有两个主要的函数。

1.python 对象转化为 json格式:

json.dumps()

2.将json数据转化为python对象:

json.loads()

就是:

import json
Json.dumps()      # 将字典或列表转为josn格式的字符串
Json.loads()		# 将json格式字符串转化为python对象
Json.dump()		# 将字典或列表转为json字符串并且写入到文件中
Json.load()		   # 从文件中读取json格式字符串转化为python对象

总之记住:
(带s的都是对string操作,不带s就是对txt之类的文件操作。)

再不明白的,具例子:

源码:(复制拿去用就行了)

"""
一、第一部分为: Json格式与python对象的相互转换
"""

import json

# 普通的json单列表
jsondata = '''
{
    "Uin":0,
    "UserName":"@c482d142bc698bc3971d9f8c26335c5c",
    "NickName":"CSDNzoutao",
    "HeadImgUrl":"https://blog.csdn.net/ITBigGod",
    "DisplayName":"ZouTao",
    "ChatRoomId":0,
    "KeyWord":"che",
    "EncryChatRoomId":"",
    "IsOwner":0
}
'''

myfriend = json.loads(jsondata)  # json转化字典对象
print(myfriend)
# 转为字典以后,就可以根据key来获取各种字段数值了
name = myfriend.get('NickName')
print(name)
# json.dumps(name) #将python对象转化为json

# 常见的还有 Json 数组-嵌套型
Json_doc='''
    {
        "MemberList": [{
                "UserName": "CSDNzoutao",
                "Sex": "男",
                "Age":10
            },
            {
                "UserName": "CSDNzoutao的1号女朋友",
                "Sex": "女",
                "Age":10
            },
            {
                "UserName": "CSDNzoutao的2号女朋友",
                "Sex": "不限",
                "Age":10
            }]
    }
    '''

myfriends = json.loads(Json_doc)
memberList = myfriends.get('MemberList')  # 得到list对象-包含字典数据
print(memberList)

# 用个 for 循环就能轻而易举的获取数据
for x in memberList:
    print('遍历list数据:',x)

图示:
在这里插入图片描述

<think>好的,我现在需要详细介绍一下Python中pandas库中关于文件操作的模块函数,而且不能包括方法,只涉及函数。首先,我得回想一下pandas中常用的文件操作相关函数有哪些。 用户提到的是模块函数,应该指的是pandas顶级函数,而不是对象的方法。比如pd.read_csv()这样的函数,而不是DataFrame.to_csv()方法。所以重点应该放在这些读写的函数上。 首先,pandas提供了一系列以read_开头的函数,用于读取不同格式的文件,比如read_csv、read_excel、read_json等。这些函数都是模块级别的,属于pandas顶级函数。每个函数都有很多参数,可以控制如何读取数据,比如指定分隔符、编码方式、是否包含表头等。 然后是写入文件的函数,比如to_csv这样的,但注意用户说不包括方法,所以这里应该排除DataFrame的to_csv方法。但pandas是否有模块级别的写入函数呢?可能像pandas.DataFrame.to_csv是方法,而模块级别是否有对应的函数呢?可能需要确认。可能写入操作通常是通过对象的方法完成的,而读取是通过模块函数。所以这部分可能需要说明,但用户可能想知道是否有这样的函数,但根据我的知识,pandas的写入操作主要是通过方法,所以可能需要重点介绍读取函数。 接下来,需要列举这些函数,并简要说明它们的用途和参数。例如: 1. pd.read_csv:读取CSV文件,常用参数有filepath、sep、header、index_col等。 2. pd.read_excel:读取Excel文件,可以指定sheet_name、engine等。 3. pd.read_json:读取JSON数据,可能需要指定orient参数。 4. pd.read_html:从HTML中读取表格数据。 5. pd.read_sql:执行SQL查询并返回DataFrame,需要配合数据库连接。 6. pd.read_parquet:读取Parquet格式文件,高效列式存储。 7. pd.read_feather:读取Feather格式,快速二进制格式。 8. pd.read_pickle:读取Python pickle序列化的对象。 9. pd.read_clipboard:从剪贴板读取数据。 10. pd.read_sql_table:读取整个数据库表。 11. pd.read_sql_query:执行SQL查询并返回结果。 12. pd.read_stata:读取Stata文件。 13. pd.read_hdf:读取HDF5文件,适合大数据集。 14. pd.read_gbq:读取Google BigQuery的数据。 15. pd.read_xml:读取XML文件。 然后,每个函数需要简要说明其功能、常用参数和使用场景。例如,read_csv是最常用的,用于处理逗号分隔的数据,但也可以处理其他分隔符如制表符。read_excel处理Excel的.xlsx.xls文件,可能依赖openpyxlxlrd库。read_json处理JSON结构,可能需要调整orient参数来正确解析嵌套结构。 另外,需要注意这些函数的返回值都是DataFrameSeries对象,所以这些函数是用于将外部数据加载到pandas数据结构中的入口点。 可能还需要提到一些通用参数,比如dtype指定数据类型,usecols选择特定列,parse_dates处理日期列,na_values指定缺失值标识符等。 同时,对于一些特殊格式,如Parquet和Feather,可能需要安装额外的库,如pyarrowfastparquet。 总结来说,我需要将这些函数列出来,每个给出功能描述、参数示例和使用场景,同时确保不涉及方法,只介绍模块级别的函数。可能需要检查是否有遗漏的函数,比如pd.read_table,但read_table和read_csv的区别是什么?其实,read_csv默认分隔符是逗号,而read_table默认是制表符,但可以通用。 另外,还有一些读取剪贴板的函数,比如read_clipboard,可能在某些情况下有用,比如从网页表格复制数据后直接读取。 现在需要组织这些内容,确保结构清晰,分点说明每个函数,可能按照文件类型分类,比如文本文件、Excel、JSONHTML数据库、二进制格式等。 最后,可能需要提醒用户,这些函数的具体参数和用法应参考官方文档,但这里给出一个概览,帮助用户了解可用的工具。同时,强调这些函数在数据导入时的灵活性和强大功能,是pandas处理数据输入的关键部分。</think>在Python的pandas库中,文件操作主要通过模块级函数实现,用于从不同格式的文件中读取数据并转换为DataFrameSeries。以下是常用的文件操作函数分类及详细介绍: --- ### 一、文本文件 1. **`pd.read_csv()`** - **功能**:读取CSV(逗号分隔值)文件,也可处理其他分隔符(如制表符)。 - **关键参数**: - `filepath_or_buffer`:文件路径URL。 - `sep`:分隔符(默认`,`)。 - `header`:指定表头行(默认`0`)。 - `index_col`:将某列设为索引。 - `dtype`:指定列数据类型。 - **示例**: ```python df = pd.read_csv("data.csv", sep=";", encoding="utf-8") ``` 2. **`pd.read_table()`** - **功能**:读取通用分隔符文本文件,默认分隔符为制表符(`\t`)。 - **参数**:与`read_csv()`类似,但默认`sep='\t'`。 - **示例**: ```python df = pd.read_table("data.txt", sep="|") ``` --- ### 二、Excel文件 3. **`pd.read_excel()`** - **功能**:读取Excel文件(支持`.xlsx`、`.xls`等)。 - **关键参数**: - `io`:文件路径Excel文件对象。 - `sheet_name`:指定工作表名称索引。 - `engine`:指定引擎(如`openpyxl``xlrd`)。 - **示例**: ```python df = pd.read_excel("data.xlsx", sheet_name="Sheet1") ``` --- ### 三、JSON数据 4. **`pd.read_json()`** - **功能**:读取JSON格式数据,支持嵌套结构。 - **关键参数**: - `path_or_buf`:JSON文件路径JSON字符串。 - `orient`:JSON结构格式(如`'records'`、`'columns'`)。 - **示例**: ```python df = pd.read_json("data.json", orient="records") ``` --- ### 四、HTML表格 5. **`pd.read_html()`** - **功能**:从HTML页面中提取表格数据。 - **关键参数**: - `io`:HTML文件路径、URL字符串。 - `match`:通过正则表达式匹配特定表格。 - **示例**: ```python tables = pd.read_html("https://example.com/tables.html") ``` --- ### 五、数据库 6. **`pd.read_sql()`** - **功能**:执行SQL查询并返回DataFrame,需配合数据库连接对象(如SQLAlchemy)。 - **关键参数**: - `sql`:SQL查询语句。 - `con`:数据库连接对象。 - **示例**: ```python import sqlalchemy engine = sqlalchemy.create_engine("sqlite:///database.db") df = pd.read_sql("SELECT * FROM table", con=engine) ``` --- ### 六、二进制文件 7. **`pd.read_parquet()`** - **功能**:读取Parquet格式文件(高效列式存储)。 - **依赖库**:`pyarrow``fastparquet`。 - **示例**: ```python df = pd.read_parquet("data.parquet") ``` 8. **`pd.read_feather()`** - **功能**:读取Feather格式文件(跨语言快速二进制存储)。 - **依赖库**:`pyarrow`。 - **示例**: ```python df = pd.read_feather("data.feather") ``` 9. **`pd.read_pickle()`** - **功能**:读取Python Pickle序列化对象。 - **注意**:可能存在安全风险,仅信任数据源时使用。 - **示例**: ```python df = pd.read_pickle("data.pkl") ``` --- ### 七、其他格式 10. **`pd.read_clipboard()`** - **功能**:从系统剪贴板读取数据(如复制的Excel表格)。 - **参数**:与`read_csv()`类似。 - **示例**: ```python df = pd.read_clipboard(sep="\t") ``` 11. **`pd.read_xml()`** - **功能**:读取XML文件(pandas 1.3+版本支持)。 - **示例**: ```python df = pd.read_xml("data.xml") ``` --- ### 八、高性能存储 12. **`pd.read_hdf()`** - **功能**:读取HDF5格式文件,适合大型数据集。 - **关键参数**: - `path_or_buf`:文件路径。 - `key`:指定存储的键名。 - **示例**: ```python df = pd.read_hdf("data.h5", key="dataset") ``` --- ### 九、统计软件文件 13. **`pd.read_stata()`** - **功能**:读取Stata格式文件(`.dta`)。 - **示例**: ```python df = pd.read_stata("data.dta") ``` --- ### 十、云服务 14. **`pd.read_gbq()`** - **功能**:从Google BigQuery读取数据。 - **依赖库**:`pandas-gbq`。 - **示例**: ```python df = pd.read_gbq("SELECT * FROM dataset.table", project_id="my-project") ``` --- ### 通用参数 - **数据类型控制**:`dtype`指定列类型,`parse_dates`解析日期列。 - **缺失值处理**:`na_values`定义缺失值标识符。 - **列筛选**:`usecols`选择特定列。 --- ### 总结 pandas的文件操作函数覆盖了从文本、二进制到数据库的多种数据源,支持灵活的参数配置以适应不同需求。使用时需注意: 1. 安装依赖库(如`openpyxl`、`pyarrow`)。 2. 处理大型数据时优先选择高效格式(如Parquet)。 3. 参考官方文档调整参数(如JSON的`orient`)。 这些函数是数据预处理流程中的关键入口,熟练掌握可大幅提升数据加载效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖一点雨

原创不易,鼓励鼓励~~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值