当前位置: 首页 > news >正文

使用Python Pandas导入数据库和文件数据

大家好,在数据分析过程中,数据的导入是第一步,也是最重要的一步。Python的Pandas提供了强大的数据读取功能,支持从多种数据源导入数据,包括CSV、Excel、JSON、SQL数据库、网页等。Pandas库不仅能够处理常见的文件格式,还可以轻松对接数据库和网络资源,为数据分析和处理提供了极大的灵活性和便利性。

1.从CSV文件导入数据

CSV(Comma Separated Values)是一种常见的数据存储格式,Pandas的read_csv()函数可以轻松地从CSV文件中读取数据,并将其转换为Pandas的DataFrame格式。

import pandas as pd# 从CSV文件读取数据
df = pd.read_csv('data.csv')# 查看数据的前几行
print(df.head())

pd.read_csv()函数会读取data.csv文件,并返回一个DataFrame。head()方法用于查看数据的前五行。

有时CSV文件的分隔符可能不是逗号,例如制表符\t,可以通过sep参数指定分隔符。此外,如果CSV文件中存在缺失值,可以通过na_values参数定义哪些值应被视为缺失值。

df = pd.read_csv('data.csv', sep='\t', na_values=['NA', 'None'])

在这个例子中,使用\t作为分隔符,并将'NA''None'视为缺失值。

2.从Excel文件导入数据

Excel是另一种常用的数据存储格式。Pandas提供了read_excel()函数用于读取Excel文件。可以选择读取整个工作簿中的某个工作表。

# 读取Excel文件中的第一个工作表
df = pd.read_excel('data.xlsx')# 指定读取特定的工作表
df_sheet2 = pd.read_excel('data.xlsx', sheet_name='Sheet2')# 查看数据的前几行
print(df.head())
print(df_sheet2.head())

pd.read_excel()会读取data.xlsx文件的第一个工作表。如果需要读取其他工作表,可以通过sheet_name参数指定工作表的名称或索引。

如果需要读取Excel文件中的多个工作表,可以将sheet_name参数设置为None,Pandas会返回一个字典,字典的键是工作表名称,值是对应的DataFrame。

# 读取所有工作表
sheets = pd.read_excel('data.xlsx', sheet_name=None)# 查看每个工作表的数据
for sheet_name, df in sheets.items():print(f"工作表: {sheet_name}")print(df.head())

3.从JSON文件导入数据

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web应用和API。Pandas的read_json()函数支持从JSON文件中导入数据。

# 读取JSON文件
df = pd.read_json('data.json')# 查看数据的前几行
print(df.head())

如果JSON文件结构较为复杂,例如嵌套的对象或数组,可以通过指定orient参数来帮助Pandas正确解析数据。

df = pd.read_json('data.json', orient='records')

orient参数可以指定JSON对象的格式,例如recordsindexcolumns等,确保数据能够正确解析。

4.从SQL数据库导入数据

Pandas还可以直接从SQL数据库中读取数据,可以通过read_sql()函数执行SQL查询,并将结果转换为DataFrame。要连接数据库,需要使用sqlite3或其他数据库驱动库。

import sqlite3# 创建数据库连接
conn = sqlite3.connect('data.db')# 读取SQL查询结果
df = pd.read_sql('SELECT * FROM tablename', conn)# 查看数据的前几行
print(df.head())

使用sqlite3.connect()建立与SQLite数据库的连接,并通过pd.read_sql()执行SQL查询。对于其他数据库,如MySQL或PostgreSQL,可以使用相应的数据库驱动库,例如pymysqlpsycopg2

5.从HTML网页导入数据

Pandas还支持从网页表格中读取数据,通过read_html()函数,Pandas可以自动提取网页中的表格并转换为DataFrame。

# 从网页中读取所有表格
dfs = pd.read_html('https://example.com/table_page')# 查看第一个表格
print(dfs[0].head())

pd.read_html()会从网页中提取所有表格,并返回一个DataFrame列表。我们可以通过索引访问特定的表格。

6.从API接口导入数据

许多API接口返回的都是JSON格式的数据,可以使用requests库获取API返回的数据,然后使用Pandas处理这些数据。

import requests# 获取API返回的数据
response = requests.get('https://api.example.com/data')
json_data = response.json()# 将JSON数据转换为DataFrame
df = pd.DataFrame(json_data)# 查看数据的前几行
print(df.head())

通过这个方法,可以轻松从网络API中获取数据,并将其导入Pandas进行分析。

7.从本地和远程CSV文件导入数据

除了从本地读取CSV文件外,Pandas还支持从远程URL读取CSV文件,只需要将文件的URL传递给read_csv()函数即可。

url = 'https://example.com/data.csv'
df = pd.read_csv(url)# 查看数据的前几行
print(df.head())

这个功能非常适合处理来自网上公开数据集的场景,无需先将文件下载到本地,直接读取远程数据即可。

8.处理大规模数据

当处理大型文件或数据集时,加载整个数据可能会占用过多的内存。Pandas提供了多种优化策略来处理大规模数据,例如使用chunksize参数分块读取数据。

# 使用chunksize参数分块读取数据
chunk_size = 10000
chunk_iter = pd.read_csv('large_data.csv', chunksize=chunk_size)# 处理每个块
for chunk in chunk_iter:# 执行数据处理操作print(chunk.head())

通过分块读取,Pandas可以在内存限制的情况下处理大规模数据。

综上所述,本文介绍使用Pandas从不同的数据源导入数据,包括CSV、Excel、JSON、SQL数据库、网页以及API接口等。Pandas的read_*()函数提供了灵活、强大的数据读取功能,能够轻松处理各种数据格式和来源。

相关文章:

使用Python Pandas导入数据库和文件数据

大家好,在数据分析过程中,数据的导入是第一步,也是最重要的一步。Python的Pandas提供了强大的数据读取功能,支持从多种数据源导入数据,包括CSV、Excel、JSON、SQL数据库、网页等。Pandas库不仅能够处理常见的文件格式&…...

lef 中antenna解释

这些规则主要涉及集成电路设计中的天线效应(Antenna Effect)和通孔(Via)设计规则。 ANTENNAAREADIFFREDUCEPWL 这条规则指定了一个分段线性函数,用于根据连接到切割层的扩散区面积来计算cut_area的缩减因子。扩散区面积值应从0开始单调增加。如果没有定义此规则,PAR(mi)方程中的…...

初试Bootstrap前端框架

文章目录 一、Bootstrap概述二、Bootstrap实例1、创建网页2、编写代码3、代码说明4、浏览网页,查看结果5、登录按钮事件处理6、浏览网页,查看结果 三、实战小结 一、Bootstrap概述 大家好,今天我们将一起学习一个非常流行的前端框架——Boot…...

mysql数据库:超键、候选键、主键与外键

mysql数据库:超键、候选键、主键与外键 1、超键(Superkey)2、候选键(Candidate Key)3、主键(Primary Key)4、外键(Foreign Key) 💖The Begin💖点点…...

音频转MP3格式困难?如何轻松实现wav转mp3?

格式多样化为我们带来了灵活性和创意的无限可能,但同时,不同格式间的转换也成为了不少用户面临的难题。尤其是当你手握珍贵的WAV音频文件,却希望它们能在更多设备上流畅播放或节省存储空间时,wav转mp3的需求便应运而生。WAV以其无…...

基于vue框架的大连盐业有限公司生产管理系统的设计与实现3hk5y(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:计划员,工艺员,生产建模,生产计划,生产信息,生产监视,工艺质量,盐政信息 开题报告内容 一、引言 随着信息技术的飞速发展和市场竞争的日益激烈,传统盐业企业如大连盐业有限公司正面临着转型升级的迫切需求。传统管理模式下…...

《深入理解JAVA虚拟机(第2版)》- 第13章 - 学习笔记【终章】

第13章 线程安全与锁优化 13.1 概述 面向过程的编程思想 将数据和过程独立分开,数据是问题空间中的客体,程序代码是用来处理数据的,这种站在计算机角度来抽象和解决问题的思维方式,称为面向对象的编程思想。 面向对象的编程思想…...

网络工程师学习笔记——网络互连与互联网(三)

TCP三次握手 建立TCP连接是通过三次握手实现的,采用三报文握手主要是为了防止已失效的连接请求报文突然又传送到了,因而产生错误 主动发起TCP连接建立的称为客户端 被动等待的为TCP服务器,二者之间需要交换三个TCP报文段 首先是客户端主动…...

【Tomcat】常见面试题整理 共34题

文章目录 1. 简述什么是Tomcat?2. Tomcat的缺省端口是多少,怎么修改?3. 简述Tomcat 目录结构及作用4. 简述Tomcat有几种部署方式?5. 简述Tomcat容器是如何创建servlet类实例?6. Tomcat有哪几种Connector运行模式&#…...

到时间没回家又不接电话?如何迅速确定孩子的位置?

当孩子未按时回家且无法通过电话联系时,家长往往会感到焦虑。此时,如何迅速确定孩子的位置成为许多家长迫切需要解决的问题。 利用智能手机定位技术是最常见的方法之一。大多数智能手机都内置GPS定位功能,通过“查找设备”应用,家…...

接口自动化--commons内容详解-02

上篇文章主要讲解了接口自动化主要架构框架,这篇文庄主要讲解commons中的内容 1. requests_utils.py 首先讲解这个工具类,主要是因为在接口自动化中,基本都有的接口都是发送请求,获取响应结果,唯一不同的是&#xff0…...

WanFangAi论文写作研究生论文写作神器在线生成真实数据,标注参考文献位置,表格公式代码流程图查重20以内,研究生论文写作技巧

WanFangAi是一个专业的学术论文辅助平台,它提供了一系列工具来帮助用户提升论文写作的效率和质量。以下是WanFangAi的一些核心功能:1.主题探索与文献搜索:用户可以输入关键词和研究领域,WanFangAi会迅速推荐合适的论文主题并提供相关的文献搜索服务。系统…...

cv2.waitkey(30) 按键盘无效

cv2.imshow("detection", color_image) # 窗口显示,显示名为 Capture_Videok cv2.waitKey(100) & 0xFF # 每帧数据延时 1ms,延时不能为 0,否则读取的结果会是静态帧 if k ord(s): # 键盘按一下s, 保存当前照片和机械臂位姿…...

【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解

【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解 题目传送门 题解 CSP-S1 补全程序,致敬全 A 的答案,和神奇的预言家。 写一下这篇的题解说不定能加 CSP 2024 的 RP 首先看到 k k k 这么大的一个常数,就想到了二分。然后写一个判…...

Ubuntu24.04 安装ssh开启22端口及允许root用户远程登录

1、安装openssh-server插件开启22端口访问 # 安装ssh会默认启动服务并开启22端口 apt update apt install openssh-server 2、开启root用户远程访问 激活root用户,设置root用户登录密码 hunterlocalhost:/$ sudo passwd root New password: Retype new password…...

STM32基础学习笔记-DHT11单总线协议面试基础题7

第七章、DHT11: 单总线协!议 常见问题 1、DHT11是什么 ?有什么特性 ? 2、单总线协议是什么 ?原理 ?DHT11的单总线协议的组成 ? ## 1、DHT11定义 单总线协议是一种用于在多个设备之间进行通信的协议,所有…...

Redisson分布式锁的概念和使用

Redisson分布式锁的概念和使用 一 简介1.1 什么是分布式锁?1.2 Redisson分布式锁的原理1.3 Redisson分布式锁的优势1.4 Redisson分布式锁的应用场景 二 案例2.1 锁竞争案例2.2 看门狗案例2.3 参考文章 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff…...

uniapp小程序持续获取用户位置信息,后台位置获取

做一个小程序持续获取用户位置信息的功能,即使小程序切换到后台也能继续获取,getLocation这个api只有小程序在前台才能获取位置,所以不用这个 先申请一个腾讯地图key 在uniapp项目配置源码视图里加上这个代码 先获取权限,再开启…...

优化算法(五)—梯度下降算法(附MATLAB程序)

梯度下降算法(Gradient Descent)是一种常用的优化算法,用于寻找函数的局部最小值。它通过沿着函数梯度的反方向迭代地调整变量,以逐步找到最优解。梯度下降广泛应用于机器学习和深度学习中,特别是在训练模型时优化损失…...

TypeScript 设计模式之【单例模式】

文章目录 **单例模式**: 独一无二的特工我们为什么需要这样的特工?单例模式的秘密:如何培养这样的特工?特工的利与害代码实现单例模式的主要优点单例模式的主要缺点单例模式的适用场景总结 单例模式: 独一无二的特工 单例模式就像是一个秘密组织里的特殊特工。这…...

打破平台壁垒:Windows上安装APK文件的完整解决方案

打破平台壁垒:Windows上安装APK文件的完整解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想过在Windows电脑上直接运行安卓应用&#xff…...

LLM Notebooks:从零构建RAG问答系统的实践指南

1. 项目概述:一个面向大语言模型实践的“笔记本”仓库最近在GitHub上闲逛,发现了一个挺有意思的仓库,叫qianniuspace/llm_notebooks。光看名字,llm_notebooks,大语言模型笔记本,这指向性就非常明确了。这大…...

JVM调优实战:让你的服务性能提升50%

一、背景 线上一个核心订单服务&#xff0c;QPS 3000左右&#xff0c;经常出现接口超时告警。监控显示&#xff1a; 平均RT: 180ms&#xff08;要求<100ms&#xff09;Full GC频率: 每天20次&#xff0c;每次STW 1.5sCPU使用率: 峰值85%服务规格: 8C16G&#xff0c;堆内存…...

Mantic.sh:Bash脚本实现的终端命令自动化与效率提升工具

1. 项目概述&#xff1a;一个为开发者打造的终端效率工具如果你和我一样&#xff0c;每天有超过一半的工作时间是在终端&#xff08;Terminal&#xff09;里度过的&#xff0c;那你肯定对效率工具有着近乎偏执的追求。从cd到ls&#xff0c;从grep到awk&#xff0c;我们依赖这些…...

解密VideoDownloadHelper:开源浏览器插件的智能视频提取技术

解密VideoDownloadHelper&#xff1a;开源浏览器插件的智能视频提取技术 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 当你在浏览微博、秒拍…...

AI智能体操作安卓设备:基于agent-droid-bridge的自动化实践

1. 项目概述&#xff1a;连接AI与安卓设备的桥梁 最近在折腾AI智能体&#xff08;Agent&#xff09;和自动化流程时&#xff0c;遇到了一个挺有意思的需求&#xff1a;如何让运行在服务器上的AI程序&#xff0c;直接去操作一台真实的安卓手机或模拟器&#xff0c;完成一些复杂的…...

MySQL-MVCC核心原理-版本链ReadView与可见性判断

MVCC 全称是 Multi-Version Concurrency Control&#xff0c;也就是多版本并发控制。它的核心思想是&#xff1a;为同一行数据维护多个版本&#xff0c;让读写在很多情况下不用互相阻塞。 没有 MVCC 时&#xff0c;读写冲突通常要大量依赖锁。MVCC 让普通 select 可以读一个可见…...

保姆级避坑指南:用STM32F103C8T6+ESP8266(AT指令)做WiFi遥控小车,我踩过的那些坑

STM32F103C8T6ESP8266 WiFi遥控小车避坑实战手册 1. 硬件选型与连接&#xff1a;那些容易被忽视的细节 在开始任何代码编写之前&#xff0c;硬件连接的正确性往往决定了项目的成败。使用STM32F103C8T6&#xff08;俗称"蓝莓板"&#xff09;与ESP8266模块组合时&#…...

AI代码管理器:统一多模型编程助手,提升开发效率与代码质量

1. 项目概述&#xff1a;一个面向开发者的多模型代码管理技能最近在折腾AI编程助手&#xff0c;发现一个挺有意思的现象&#xff1a;很多开发者手头可能同时用着Claude、CodeGemini这类工具&#xff0c;但每次切换都得重新配置环境、调整提示词&#xff0c;甚至要处理不同模型输…...

AI科技热点日报 | 2026年5月16日

文章目录AI科技热点日报 | 2026年5月16日一、大模型与基础技术《人工智能终端智能化分级》系列国家标准发布"九章四号"量子计算原型机刷新世界纪录二、AI政策与监管人工智能科技伦理审查与服务先导计划启动工信部部署高质量行业数据集建设三、Agent与应用"AI教育…...