Pandas教程06 - csv,hdf5,json等文件数据的读取和保存

Pandas教程06 - csv,hdf5,json等文件数据的读取和保存

pandas一站式学习->: pandas一站式学习,创建,索引使用,运算,pd可视化柱状图等,csv,hdf5,json格式数据读取存储,NaN值处理,数据离散化,数据合并,交叉表与透视表


python一站式学习->: python一站式学习,python基础,数据类型,numpy,pandas,机器学习,NLP自然语言处理,deepseek大预言模型,Tensorflow,CV视觉


CSV保存数据

import pandas as pd
# path_or_buf   存储路径
# sep: 数据分隔符
# columns: 存储哪些列
# mode: 默认-w重写,a追加
# index = True: 是否写进行索引
# header =True: 是否写进列索引
p1 = pd.DataFrame([{"name":"zc","age":18,"sex":"男"}])
pd.DataFrame(p1).to_csv("./aa.csv",mode="w")

CSV读取数据

import pandas as pd
# filepath_or_buffer: 读取的路径
# usecols:          	读取那几列
# sep: 				文件数据分隔符,默认是逗号
p1 = pd.read_csv(filepath_or_buffer='aa.csv', usecols=[],sep=',')

HDF5保存数据

操作HDF5需要依赖包 tables

pip install tables
  • hdf5存储的是二进制数据,读取和存储时候需要指定一个键,值为要存储或读取的DataFarme
  • 因此hdf5可以存储三维数据
import pandas as pd
# path_or_buf   存储路径
# mode: 默认-w重写,a追加
# key: 存储数据的key
p1 = pd.DataFrame([{"name":"zc","age":18,"sex":"男"}])
p1.to_hdf(path_or_buf="./bb.h5",mode="w",key="stuInfo")

HDF5读取数据

import pandas as pd
# filepath_or_buffer: 读取的路径
# key: 要读取数据的key,文件中只有一个key时候可以不指定,如果多个key必须指定key
p1 = pd.read_hdf(path_or_buf='bb.h5',key=None)
p1

HDF5获取key

当新得到一个h5数据文件,并不知道存储数据的key是什么,可以按照次方法获取

import pandas as pd

with pd.HDFStore('bb.h5') as store:
	# 获取所有存储的键
    keys = store.keys()  
    print("可用的键:", keys)
    
# 结果: 可用的键: ['/stuInfo']

JSON保存数据

import pandas as pd
# path_or_buf   存储路径
# mode: 默认-w重写,a追加
# orient: records 传统json格式
# lines: 默认False,是否按照每行读取json对象
p1 = pd.DataFrame([{"name":"zc","age":18,"sex":"男"}])
p1.to_json(path_or_buf="./cc.json",mode="a",orient="records",lines=True)

JSON读取数据

import pandas as pd
# path_or_buf: 读取的路径
# orient: records 传统json格式
# lines: 默认False,是否按照每行读取json对象
# tpye: 默认frame,指定转换的对象类型是series或者dataframe
p1 = pd.read_json(path_or_buf='./cc.json',orient="records",lines=True)
<think>好的,用户想了解如何使用Pandas读取不同格式的文件,并需要示例。首先,我需要整理Pandas支持的常见文件格式,比如CSV、Excel、JSON压缩文件。根据用户提供的引用,特别是引用[1]、[2]、[3]、[4],这些引用提到了读取压缩文件CSVExcel文件的方法,我需要将这些信息整合进去。 接下来,我需要确保按照用户的系统级指令,正确使用行内数学公式的格式,不过这个问题可能不涉及数学公式,所以可能不需要处理这部分。但需要检查是否有变量或代码需要用$...$,但看起来主要是代码块,所以可能没问题。 然后,要确保回答结构清晰,分步骤说明每种文件格式的读取方法,并给出代码示例。每个部分可能需要一个小标题,比如CSV文件、Excel文件JSON文件压缩文件。同时,要引用用户提供的站内引用,比如在读取压缩文件时引用[^1],读取CSV时引用[^2],读取Excel时引用[^3][^4]。 用户可能的需求不仅仅是简单的读取,还可能包括处理多个sheet的情况,或者如何处理压缩文件的不同格式(如gzip、zip等)。因此,在示例中需要涵盖这些情况,例如在Excel部分提到读取指定sheet,或者在压缩文件部分说明不同的压缩类型。 另外,需要生成相关问题,这些问题应该与读取不同文件格式相关,可能包括如何处理大型文件、编码问题、读取时的性能优化等。需要确保问题有针对性,并且能够帮助用户进一步探索相关知识。 需要检查LaTeX语法是否正确,不过由于问题主要涉及代码示例,可能不需要太多数学公式,但如果有变量提及,比如文件路径中的变量名,需要用$...$吗?比如文件路径可能不需要,但如果有变量如df,可能需要,但根据示例,代码块中的变量不需要用$,所以可能不需要处理。 最后,确保回答使用中文,结构清晰,分点说明,每个部分都有代码示例相关引用。同时,生成的相关问题要符合用户可能感兴趣的后续问题,比如不同格式的读取细节、处理大数据集、参数设置等。</think># 使用Pandas读取不同格式文件的详解 ## 一、CSV文件读取 Pandas通过`pd.read_csv()`方法可直接读取CSV文件,支持自动解压缩编码识别: ```python import pandas as pd # 基础读取(引用[2]示例) df = pd.read_csv('data.csv') # 处理特殊需求 df = pd.read_csv('data.csv', encoding='utf-8', sep=';', skiprows=2) ``` 参数说明: - `encoding`:指定文件编码(如`gbk`) - `sep`:自定义分隔符(默认`,`) - `skiprows`:跳过指定行数 ## 二、Excel文件读取 针对多sheet的Excel文件(引用[3][4]): ```python # 读取指定sheet df = pd.read_excel('data.xlsx', sheet_name='Sheet1') # 读取全部sheet(返回字典) sheets = pd.read_excel('data.xlsx', sheet_name=None) ``` 特性支持: - 自动识别表头 - 处理合并单元格 - 指定读取范围(`usecols="A:C,F"`) ## 三、压缩文件读取 Pandas支持直接读取gzip/zip等压缩格式(引用[1]): ```python # 读取gzip压缩的CSV df = pd.read_csv('data.csv.gz', compression='gzip') # 读取zip内的Excel df = pd.read_excel('data.zip', sheet_name='Sheet1') ``` 支持格式:`gzip`, `bz2`, `zip`, `xz` ## 四、JSON文件读取 处理嵌套结构的JSON数据: ```python # 标准JSON df = pd.read_json('data.json') # 嵌套JSON展开 df = pd.json_normalize(data, 'records', ['meta']) ``` ## 五、其他格式支持 | 格式 | 方法 | 特色功能 | |-------------|--------------------|----------------------------| | SQL | pd.read_sql() | 支持连接池/分块查询 | | HTML表格 | pd.read_html() | 自动解析网页表格结构 | | Parquet | pd.read_parquet() | 列式存储/高效压缩 | | HDF5 | pd.read_hdf() | 支持大型数据集分块读取 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值