【python】csv、xls、xlsx、txt、pkl数据处理

本文详细介绍了Python中处理不同格式数据文件的方法,包括csv、xls、xlsx、txt和pkl。对于csv文件,使用csv库进行读写操作;xls文件则借助xlrd和xlwt库;xlsx文件通过openpyxl模块;txt文件的读写操作简单直接;pkl文件的处理依赖于pickle库。文章提供了详细的代码示例,涵盖了文件的读取、写入及数据操作等关键步骤。
部署运行你感兴趣的模型镜像

csv文件

字符分隔值,其文件以纯文本形式存储表格数据(数据和文本)
用字符进行分割,不一定时逗号。

文件读取

利用csv库进行文件的读取,import csv,使用库中提供的函数进行文件的读写:

import csv
with("文件名.csv") as f:
    f_csv = csv.reader(f)
    #获取header
    header = next(f_csv)
    for row in f_csv:
        print(row)

reader返回一个迭代对象,首先获取表格的头,也就是属性(列表形式),直接for循环得到每一行数据(列表形式)。
补充:iter()函数可以创建迭代对象,迭代器是一个可以记住遍历位置的对象。

也可以使用DictReader(),读出的数据以字典形式输出。

文件写入

import csv
#创建header
header = ['','','']
#数据
data = [['','',''],['','','']]
with open("文件名.csv",mode='w',encoding="utf-8",newline="") as f:
    writer = csv.write(f)
    #一次写入一行,写入header
    writer.writerow(header)
    #一次写入多行
    writer.writerows(data)

xls文件

对表格数据进行操作吧!
用到的库:xlrd(读)、xlwt(写)

文件读取

用到了xlrd库

import xlrd
#获取工作簿对象
workbook = xlrd.open_workbook("文件名.xls")
#获取sheet
sheet_names = workbook.sheet_name()
sheet1 = workbook.sheet_by_index(0)
#sheet1 = workbook.sheet_by_name("sheet1名字")

#操作表
rows = sheet1.nrows
cols = sheet1.ncols

#读出数据
datas = []
for i in range(rows):
    datas.append(sheet1.row_values(i))
#列:sheet1.col_values(i)
#单元格:sheet1.cell_value(0.0)

文件写入

用到了xlwt库

import xlwt
#创建工作簿
workbook = xlwt.workbook(encoding="utf-8")
#创建sheet
sheet1 = workbook.add_sheet('sheet1')
sheet1.write(0, 0, '输入数据')
#保存
workbook.save("文件名.xls")

xlsx文件

使用openpyxl模块来操作xlsx文件的数据

读取

import openpyxl
workbook = openpyxl.load_workbook("文件名.xlsx")
#获取所有sheet名字
sheet_names = workbook.sheetnames
sheet1 = workbook[sheet_names[0]]
#sheet1 = workbook["sheet名字"]
#sheet1 = workbook.worksheets[0]

#统计行数和列数
rows = sheet1.max_row
cols = sheet1.max_column

#读出数据
datas = []
for row in sheet1.rows:
    data = []
    for cell in row:
        data.append(cell.value)
    datas.append(data)
#整行读,获取到某行的tuple对象
#for row in list(sheet1.rows)[0]
#单元格:sheet1['A1'].value/sheet1.cell(1,1).value

补充:sheet1.rows得到的是一个生成器,每个数据以元组类型存储。

txt文件

#按行读
with open('data.txt', 'r') as f:
    data = f.read()
data = data.split('\n')
#写
with open('data.txt', 'a') as f:
    f.write('data')

pkl文件

import pickle
with open('data.pkl', 'rb') as f:
    data = pickle.load(f)

f = open('data.pkl', 'wb')
pickle.dump(data, f)
f.close()

参考:
https://blog.youkuaiyun.com/bryanwang_3099/article/details/119731390
https://blog.youkuaiyun.com/sinat_28576553/article/details/81275650?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-81275650-blog-120823417.pc_relevant_multi_platform_whitelistv4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-81275650-blog-120823417.pc_relevant_multi_platform_whitelistv4&utm_relevant_index=2

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

<think>我们已知用户之前的问题是关于xls文档的读写,现在用户的问题是:“我想了解Pandas支持处理的文件类型请问pandas支持处理的文件类型有哪些”根据引用[2]和引用[5],我们知道Pandas支持多种文件类型的读写,包括文本文件(如CSV、JSON、TSV)和二进制文件(如Excel、HDF5)以及SQL数据库文件。但是,用户可能希望得到更全面的列表。我们可以结合引用内容和Pandas官方文档整理出常见的文件类型。注意:引用[1]提到h5文件,引用[3]和引用[5]提到CSV,引用[4]提到JSON,引用[5]还提到文本文件、Excel和SQL等。我们需要整理一个清晰的列表,并给出简单说明。同时,按照用户之前的问题,我们也可以提到读取这些文件的基本函数。另外,注意在适当的地方添加引用标记(如引用[5]在文本文件部分提到,引用[2]和引用[5]都提到Pandas强大的文件读取功能)。根据指令,我们还需要在最后生成相关问题。计划结构:1.文本文件类型(CSV/TSV/TXT,JSON)2.二进制文件(Excel,HDF5,Pickle等)3.数据库(SQL)4.其他(HTML,XML,Parquet,Feather等,虽然引用没有提到,但Pandas支持,可以补充)每个类型简单说明,以及对应的读写函数。注意:用户上一次问题集中在xls读写,所以我们可以稍微提一下不同文件类型对应的函数。但是注意引用[5]提到:对于文本文件,支持csv,json等格式;对于二进制文件,支持excel,python序列化文件,hdf5等格式;此外,还支持SQL数据库文件的读写。我们在此基础上扩展。由于引用中没有提到的类型我们不作为重点,但可以提及,且不添加引用标记。因此,我们这样组织:一、文本文件二、二进制文件三、数据库文件四、其他文件类型每个类别下列举具体的文件格式和对应的读写函数。同时,按照要求,在需要的地方添加引用标记。由于用户之前有关于xls的问题,我们可以在二进制文件中详细说明Excel,并指出xlsxlsx的区别。生成的问题可以与文件类型的使用、常见问题相关。注意:回答中引用的段落末尾自然地添加引用标识,例如[^5]。</think> ### Pandas 支持处理的文件类型详解 Pandas 作为强大的数据分析库,支持多种文件格式的读写操作,可高效将外部数据换为 `DataFrame` 结构进行分析。以下是主要支持的文件类型: --- #### 一、文本文件格式 1. **CSV/TSV文件** - 读取:`pd.read_csv("data.csv", sep=",")` - 写入:`df.to_csv("output.csv", index=False)` - 特点:默认处理逗号分隔,可通过 `sep` 参数处理制表符分隔的 TSV[^3][^5] 2. **JSON文件** - 读取:`pd.read_json("data.json")` - 写入:`df.to_json("output.json")` - 支持:可解析嵌套结构,处理 API 返回数据[^4] 3. **文本文件** - 读取:`pd.read_table("data.txt", sep="\s+")` - 特点:支持自定义分隔符的正则表达式[^5] --- #### 二、二进制文件格式 1. **Excel 文件** - `.xls`:需安装 `xlrd==1.2.0` ```python pd.read_excel("data.xls", engine="xlrd") ``` - `.xlsx`:需安装 `openpyxl` ```python pd.read_excel("data.xlsx", engine="openpyxl") ``` - 多表支持:通过 `sheet_name` 指定工作表[^2] 2. **HDF5 文件** - 读取:`pd.read_hdf("data.h5", key="dataset")` - 写入:`df.to_hdf("output.h5", key="data")` - 特点:适合处理大型数据集和层次化数据[^1] 3. **Pickle 文件** - 读取:`pd.read_pickle("data.pkl")` - 写入:`df.to_pickle("output.pkl")` - 用途:高效保存 Python 对象(含数据类型) --- #### 三、其他格式 1. **SQL 数据库** - 读取:`pd.read_sql("SELECT * FROM table", con=engine)` - 写入:`df.to_sql("table", con=engine)` - 支持:MySQL, PostgreSQL, SQLite 等[^5] 2. **Parquet/Feather** - Apache Parquet: `pd.read_parquet("data.parquet")` - Feather: `pd.read_feather("data.feather")` - 特点:高效二进制列式存储,适合大数据处理 3. **HTML/XML** - 读取:`pd.read_html("page.html")[0]` - 应用:网页表格抓取 --- #### 四、扩展支持 通过第三方库可扩展支持更多格式: - **图像/音频**:结合 `scikit-image`/`librosa` 预处理 - **PDF/Word**:通过 `PyPDF2`/`python-docx` 换到文本 - **网络协议**:使用 `pandas` + `requests` 处理 API 数据 > **核心优势**:无论何种格式,Pandas 均可将其换为统一的 `DataFrame` 结构,确保后续数据处理流程标准化[^2]。 --- ### 选择建议 | 格式类型 | 适用场景 | 性能 | |---------|---------|------| | **CSV/JSON** | 轻量数据交换 | ★★★☆ | | **Parquet/HDF5** | 大规模数据集 | ★★★★☆ | | **Excel** | 业务报表协作 | ★★☆☆ | | **SQL** | 数据库对接 | ★★★☆ |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值