python 中pandas的基础使用介绍(二文件相关)

news2025/1/5 17:26:41

pandas 中,数据导入和导出是常见且非常重要的操作。pandas 支持多种数据格式的读取与写入,以下是一些常见的导入导出操作:

1. 从 CSV 文件导入数据

pandas 提供了 read_csv() 方法来从 CSV 文件中读取数据:

import pandas as pd

# 从 CSV 文件读取数据
df = pd.read_csv('data.csv')

# 查看前 5 行数据
print(df.head())
  • 如果 CSV 文件中的数据没有表头,可以使用 header=None 来指定:

    df = pd.read_csv('data.csv', header=None)
    
  • 还可以指定分隔符,如果文件使用的不是逗号分隔:

    df = pd.read_csv('data.csv', sep=';')
    
  • 如果文件包含编码问题,可以指定 encoding 参数:

    df = pd.read_csv('data.csv', encoding='utf-8')  # 或 'ISO-8859-1' 等
    
  • 如果只需要读取部分列,可以使用 usecols 参数:

    df = pd.read_csv('data.csv', usecols=['Column1', 'Column2'])
    

2. 将 DataFrame 导出为 CSV 文件

使用 to_csv() 方法可以将 DataFrame 导出为 CSV 文件:

df.to_csv('output.csv', index=False)  # 不保存行索引
  • 默认情况下,to_csv() 会保存行索引,如果你不想保存行索引,可以设置 index=False

  • 如果你只想导出部分列:

    df.to_csv('output.csv', columns=['Column1', 'Column2'], index=False)
    
  • 可以指定分隔符(例如,制表符分隔):

    df.to_csv('output.tsv', sep='\t', index=False)
    

3. 从 Excel 文件导入数据

要读取 Excel 文件,使用 read_excel() 方法。默认使用 openpyxlxlrd 作为解析引擎(openpyxl 支持 .xlsx 格式,xlrd 支持 .xls 格式)。

df = pd.read_excel('data.xlsx', sheet_name='Sheet1')  # 读取指定工作表
print(df.head())
  • 如果 Excel 文件中有多个工作表,可以通过 sheet_name=None 读取所有工作表:

    df = pd.read_excel('data.xlsx', sheet_name=None)  # 返回一个字典,键为工作表名称
    
  • 如果只读取 Excel 中的某一列,可以通过 usecols 参数:

    df = pd.read_excel('data.xlsx', usecols=['Column1', 'Column2'])
    

4. 将 DataFrame 导出为 Excel 文件

pandas 提供了 to_excel() 方法,将 DataFrame 写入 Excel 文件:

df.to_excel('output.xlsx', index=False, sheet_name='Sheet1')
  • 默认情况下,to_excel() 会保存行索引,如果不需要行索引可以设置 index=False

  • 如果要写入多个工作表,可以使用 ExcelWriter

    with pd.ExcelWriter('output.xlsx') as writer:
        df.to_excel(writer, sheet_name='Sheet1', index=False)
        df2.to_excel(writer, sheet_name='Sheet2', index=False)
    

5. 从 JSON 文件导入数据

pandas 提供了 read_json() 方法来读取 JSON 格式的数据:

df = pd.read_json('data.json')
print(df.head())
  • 如果 JSON 文件是嵌套的,pandas 会自动进行适当的展开和转换。

  • 可以指定 JSON 文件的加载方式,例如读取 JSON 数据的根级别为字典或列表:

    df = pd.read_json('data.json', orient='records')  # 读取为记录格式
    

继续从 JSON 文件导入导出操作开始:

6. 将 DataFrame 导出为 JSON 文件(续)

pandasto_json() 方法还支持其他几种常见的导出格式,以下是 orient 参数的几种选择:

  • records: 每一行被转化为一个字典,适合在行级别上组织数据。
  • split: 将数据按“索引”、“列”和“数据”分开,形成字典结构。
  • index: 按索引为键,数据为值。
  • columns: 按列名为键,数据为值。
  • values: 输出一个嵌套数组。

举个例子:

# 使用 records 格式
df.to_json('output.json', orient='records')

# 使用 split 格式
df.to_json('output_split.json', orient='split')

# 使用 index 格式
df.to_json('output_index.json', orient='index')

# 使用 columns 格式
df.to_json('output_columns.json', orient='columns')

# 使用 values 格式
df.to_json('output_values.json', orient='values')

pandas文件读写相关介绍就到这里了,欢迎大家关注和留言讨论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2270388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSM-Spring-AOP

目录 1 AOP实现步骤(以前打印当前系统的时间为例) 2 AOP工作流程 3 AOP核心概念 4 AOP配置管理 4-1 AOP切入点表达式 4-1-1 语法格式 4-1-2 通配符 4-2 AOP通知类型 五种通知类型 AOP通知获取数据 获取参数 获取返回值 获取异常 总结 5 …

【Linux】:线程安全 + 死锁问题

📃个人主页:island1314 🔥个人专栏:Linux—登神长阶 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 1. 线程安全和重入问题&…

数字电路期末复习

*前言:*写的东西不太全面,更多的是一个复习大纲,让你发现自己有哪些不懂的问题(不懂的地方就去翻书或者问AI),如果能够解决提出的所有问题,那么过期末考一定不是问题。 这里写目录标题 数制和码…

python数据分析:使用pandas库读取和编辑Excel表

使用 Pandas,我们可以轻松地读取和写入Excel 文件,之前文章我们介绍了其他多种方法。 使用前确保已经安装pandas和 openpyxl库(默认使用该库处理Excel文件)。没有安装的可以使用pip命令安装: pip install pandas ope…

“AI人工智能软件开发公司:创新技术,引领未来

大家好!今天我们来聊聊一个充满未来感的话题——AI人工智能软件开发公司。这个公司,用大白话说,就是专门研究和开发人工智能软件的地方,它们用最新的技术帮我们解决问题,让生活和工作变得更智能、更便捷。听起来是不是…

uniapp中使用ruoyiPlus中的加密使用(crypto-js)

package.json中添加 "crypto-js": "^4.2.0", "jsencrypt": "^3.3.2",但是vue2中使用 import CryptoJS from cryptojs; 这一步就会报错 参照 参照这里:vue2使用CryptoJS实现信息加解密 根目录下的js文档中新增一个AESwork.…

【SQL Server】教材数据库(1)

1 利用sql建立教材数据库,并定义以下基本表: 学生(学号,年龄,性别,系名) 教材(编号,书名,出版社编号,价格) 订购(学号…

全国计算机设计大赛大数据主题赛(和鲸赛道)经验分享

全国计算机设计大赛大数据主题赛(和鲸赛道)经验分享 这是“和鲸杯”辽宁省普通高等学校本科大学生计算机设计竞赛启动会汇报—大数据主题赛的文档总结。想要参加2025年此比赛的可以借鉴。 一、关于我 人工智能专业 计赛相关奖项: 2022年计…

AI对接之JSON Output

AI的JSON Output 实际对接指南 前言 本系列AI的API对接均以 DeepSeek 为例,其他大模型的对接方式类似。 在现代软件开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁和易于人阅读的特…

Vue3实现PDF在线预览功能

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue篇专栏内容:Vue3现PDF在线预览功能 前言 在开发中,PDF预览和交互功能是一个常见的需求。无论是管理…

SpringBootWeb案例-1

文章目录 SpringBootWeb案例1. 准备工作1.1 需求&环境搭建1.1.1 需求说明1.1.2 环境搭建 1.2 开发规范 2. 部门管理2.1 查询部门2.1.1 原型和需求2.1.2 接口文档2.1.3 思路分析2.1.4 功能开发2.1.5 功能测试 2.2 前后端联调2.3 删除部门2.3.1 需求2.3.2 接口文档2.3.3 思路…

css实现垂直文本

效果 知识 writing-mode: <value>; 可选值 horizontal-tb: 默认值。文本从左到右&#xff08;或从右到左&#xff09;排列&#xff0c;然后从上到下。vertical-rl: 文本从上到下排列&#xff0c;然后从右到左。适用于垂直书写的方向&#xff0c;如日语和中文。vertica…

vim里搜索关键字

vim是linux文本编辑器的命令&#xff0c;再vi的基础上做了功能增强 使用方法如下 1. / 关键字, 回车即可, 按n键查找关键字下一个位置 2.? 关键字, 回车即可, 按n键查找关键字下一个位置 3.示例

Qt之QtConcurrent

简介 QtConcurrent是针对qt中多线程相关的高层封装&#xff0c;如QFuture 结构 Qtconcurrent命名空间中的run支持的有 其对应的functor下结构为 类关系 functor对应的类核心关系为 #mermaid-svg-KLxZquz9yRsiYvQL {font-family:"trebuchet ms",verdana,a…

鸿蒙应用开发搬砖经验之-ArkWeb加载页面的超简单示例

前言 系统环境&#xff1a;Mac mini M2 14.5 (23F79) 开发IDE&#xff1a;DevEco Studio 5.0.1 Release 示例 第一步&#xff1a;创建一个Empty Ability工程 第二步&#xff1a;先run一下&#xff0c;确定工程初步化正常&#xff0c;模拟器正常启动应用&#xff08;要先提…

大模型系列17-RAGFlow搭建本地知识库

大模型系列17-RAGFlow搭建本地知识库 安装ollama安装open-wehui安装并运行ragflowRAG&#xff08;检索、增强、生成&#xff09;RAG是什么RAG三过程RAG问答系统构建步骤向量库构建检索模块生成模块 RAG解决LLM的痛点 使用ragflow访问ragflow配置ollama模型添加Embedding模型添加…

SimForge HSF 案例分享|复杂仿真应用定制——UAVSim无人机仿真APP(技术篇)

导读 「神工坊」核心技术——「SimForge HSF高性能数值模拟引擎」支持工程计算应用的快速开发、自动并行&#xff0c;以及多域耦合、AI求解加速&#xff0c;目前已实现航发整机数值模拟等多个系统级高保真数值模拟应用落地&#xff0c;支持10亿阶、100w核心量级的高效求解。其低…

微电网到底是什么?和光伏有什么关系?

在现代能源体系中&#xff0c;微电网作为一种新型的电力系统结构&#xff0c;正逐渐受到广泛关注和应用。那么&#xff0c;微电网到底是什么&#xff1f;它与光伏又有怎样的关系呢&#xff1f;本文将对此进行详细解析。 微电网的基本概念 微电网&#xff08;Micro-Grid&#x…

印象笔记06——再谈谈更新

印象笔记06——再谈谈更新 [!CAUTION] 好吧&#xff0c;我承认在前五期的努力下&#xff0c;我还是用的obsidian多一些。印象笔记很大程度用来弄清单&#xff0c;但是扭头看了看自己的会员时间&#xff0c;不能浪费啊&#xff01;本期再谈谈印象笔记近期的一些更新&#xff0c;…

爱死机第四季(秘密关卡)4KHDR国语字幕

通过网盘分享的文件&#xff1a;love_death_robot 链接: https://pan.baidu.com/s/1bG3Xtdopenil2O_y93hY_g?pwd8kib 提取码: 8kib