【python】pandas常见文件读取方法

pandas 读取文件 阅读详情
AI摘要

本文介绍了Pandas库中常见的文件读取方法,包括read_csv、read_table、read_excel、read_json和read_html等,详细解释了每个方法的用途、常用参数及示例。

pandas是一个强大的Python数据分析库,它提供了多种读取文件的方法,支持多种文件格式。以下是pandas中常见的一些文件读取方法及其详细说明、常用参数、代码示例和数据示例。


1. read_csv()

(1)用途:

读取 CSV(Comma Separated Values)文件。

(2)常用参数:
  • filepath_or_buffer:文件路径或类似文件的对象。
  • sep 或 delimiter:字段分隔符,默认为逗号,。
  • header:用作列名的行号,默认为0(即第一行)。
  • index_col:用作行索引的列编号或列名。
  • dtype:每列的数据类型。
  • nrows:需要读取的行数。
(3)代码示例:
import pandas as pd

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

# 显示数据的前几行
print(df.head())
(4)数据示例 (data.csv):
Name,Age,City
Alice,25,New York
Bob,30,San Francisco
Charlie,35,Los Angeles
(5)header参数基本用法

在Pandas库中,read_csv函数的header参数用于指定用作列名的行号或处理表头的方式。关于header参数的详细解释:

  1. 默认行为:当不指定header参数时,其默认值为0,表示将CSV文件中的第一行(索引为0的行)作为列名(表头)。

  2. 指定行号:如果CSV文件中的列名不在第一行,而是位于其他行,可以通过设置header参数为相应的行号(从0开始计数)来指定。例如,header=1表示将第二行作为列名。

  3. 多行表头:在某些情况下,CSV文件可能使用多行来定义列名。此时,可以将header参数设置为一个列表,例如header=[0,1],表示将第一行和第二行的内容合并作为列名。但请注意,这种方式在Pandas中并不常用,因为它可能会导致列名变得复杂且难以理解。

  4. 无表头:如果CSV文件没有包含列名,可以将header参数设置为None。在这种情况下,Pandas将自动生成默认的列名,如0, 1, 2,…。

示例1:无表头,自定义列名

假设CSV文件内容如下(没有列名):

Alice,25,New York
Bob,30,Los Angeles

我们可以设置header=None并自定义列名:

df = pd.read_csv('example_without_header.csv', header=None, names=['Name', 'Age', 'City'])
print(df.head())

输出:

  Name  Age       City
0  Alice   25   New York
1    Bob   30  Los Angeles
示例2:无表头,不自定义列名

使用 header=None 但是不自定义列名:
当 header 设置为 None 时,并且不指定列名,在这种情况下,Pandas 会自动生成默认的列名,通常是 0, 1, 2, ... 等数字。

import pandas as pd

```python
df = pd.read_csv('example_without_header.csv', header=None)
print(df.head())

输出:

  0       1       2
0  Alice   25   New York
1    Bob   30  Los Angeles

其中,0, 1, 2, ... 是Pandas自动生成的列名。

2. read_table()

(1)用途:

读取类似表格的数据,如 TSV(Tab Separated Values)文件。

(2)常用参数:
  • filepath_or_buffer:文件路径或类似文件的对象。
  • sep 或 delimiter:字段分隔符,默认为制表符\t。
  • 其他参数与 read_csv() 类似。
(3)代码示例:
import pandas as pd

# 读取 TSV 文件
df = pd.read_table('data.tsv', delimiter='\t')

# 显示数据的前几行
print(df.head())
(4)数据示例 (data.tsv):
Name	Age	City
Alice	25	New York
Bob	30	San Francisco
Charlie	35	Los Angeles

3. read_excel()

(1)用途:

读取 Excel 文件(.xlsx 或 .xls)。

(2)常用参数:
  • io:文件路径或类似文件的对象。
  • sheet_name:要读取的工作表名称或索引,默认为0(即第一个工作表)。
  • header:用作列名的行号,默认为0。
  • dtype:每列的数据类型。
  • engine:用于解析 Excel 文件的引擎,如openpyxl(用于 .xlsx)或xlrd(用于较旧的 .xls)。
(3)代码示例:
import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 显示数据的前几行
print(df.head())
(4)数据示例 (data.xlsx - Sheet1):

与 CSV 数据类似,但存储在 Excel 文件中。


4. read_json()

(1)用途:

读取 JSON(JavaScript Object Notation)文件或 JSON 格式的字符串。

(2)常用参数:
  • path_or_buf:文件路径或 JSON 格式的字符串。
  • orient:指定 JSON 数据的结构,如'split'、'records'等。
  • dtype:每列的数据类型。
  • lines:是否按行读取 JSON 数据。
(3)代码示例:
import pandas as pd

# 从字符串读取 JSON 数据
json_data = '''
[
  {"Name": "Alice", "Age": 25, "City": "New York"},
  {"Name": "Bob", "Age": 30, "City": "San Francisco"},
  {"Name": "Charlie", "Age": 35, "City": "Los Angeles"}
]
'''
df = pd.read_json(json_data)

# 显示数据
print(df)
(4)数据示例 (JSON 字符串):

见上述 JSON 字符串。


5. read_html()

(1)用途:

从网页或HTML字符串中读取表格数据,并返回一个包含DataFrame对象的列表。

(2)常用参数:
  • io:URL、文件路径或HTML字符串。
  • match:用于匹配表格的正则表达式字符串或正则表达式对象。
  • attrs:字典或列表,用于识别表格的属性,如{'id': 'table_id'}。
  • parse_dates:将某些列解析为日期。
  • header:用作列名的行号,默认为0(如果未找到,则使用None)。

(3)Python 代码示例

使用pandas的read_html()函数来解析这个HTML字符串中的表格:

import pandas as pd

# 从网页URL读取HTML表格
url = 'https://example.com/page-with-tables'
dfs = pd.read_html(url, match='Table Title')  # 假设表格有'Table Title'这样的属性或文本

# 由于我们只有一个表格,所以直接取第一个DataFrame
df = dfs[0]

# 显示数据
print(df)

运行上述代码,你应该会得到以下输出(DataFrame的格式化显示):

     Name  Age            City
0   Alice   25        New York
1     Bob   30  San Francisco
2  Charlie   35    Los Angeles

(4)HTML 字符串示例

假设我们有一个简单的HTML字符串,它包含了一个表格:

html_string = '''
<html>
<head>
    <title>Sample HTML Table</title>
</head>
<body>
    <table border="1">
        <thead>
            <tr>
                <th>Name</th>
                <th>Age</th>
                <th>City</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Alice</td>
                <td>25</td>
                <td>New York</td>
            </tr>
            <tr>
                <td>Bob</td>
                <td>30</td>
                <td>San Francisco</td>
            </tr>
            <tr>
                <td>Charlie</td>
                <td>35</td>
                <td>Los Angeles</td>
            </tr>
        </tbody>
    </table>
</body>
</html>
'''

请注意,read_html()通常用于从网页中提取表格数据,但由于网页结构和内容可能会动态变化,因此通常建议使用更稳定的数据源,如CSV、Excel或JSON文件。

注意事项:
  • read_html()可能不适用于所有网页和所有表格,因为它依赖于Pandas解析HTML的能力,这可能会受到HTML结构复杂性的影响。
  • 如果要处理的网页需要登录或其他形式的身份验证,可能需要使用如requests库之类的工具来获取网页内容,然后再将其传递给read_html()。
  • read_html()返回的是一个包含DataFrame对象的列表。
使用pandas读取文件 pandas可以将读取到的表格型数据(文件不一定要是表格)转成DataFrame类型的数据结构,然后我们可以通过操作DataFrame进行数据分析,数据预处理以及行和列的操作等。下面介绍一些常用读取文件的方法 1、read_csv函数 功能:从文件、URL、文件新对象中加载带有分隔符的数据,默认分隔符是逗号。 data.txt a,b,c,d,name 1,2,3,4,python 5,6 阅读详情

相关推荐

数据科学必备技巧:Pandas读取外部文件与数据处理

Pandas包除了提供序列、数据框的数据存储及操作方法之外,还提供丰富的函数,比如一些常用的数据计算及处理函数,包括滚动计算函数、数据框合并函数、数据框关联函数等。

北天的博客 1909

pandas读取文件

读取文件 一、pandas读取文件用法 1、pandas读取xlsx、xls文件 import pandas as pd data=pd.read_excel('path',sheetname='sheet1',header=0,names=['第一列','第二列','第三列']) path:要读取的文件的绝对路径 sheetname:指定读取excel中的哪一个工作表,默认sheetname=0,即默认读取excel中的第一个工作表 若sheetname = ‘sheet1’,即读取excel中

feverfew1的博客 1万+

WandB本地部署踩坑指南:从Docker启动到License更新的完整流程(附常见错误解决方案)

本文详细介绍了Weights & Biases(WandB)机器学习实验管理平台的本地化部署全流程,涵盖从Docker环境搭建、许可证管理到常见错误排查的实战经验。针对企业级应用场景,文章还提供了性能优化、高可用架构设计及开源替代方案Trackio的评估与迁移策略,为构建安全、可控的内部实验追踪平台提供完整解决方案。

potato的博客 568

pandas文件读取

Pandas 的一项重要功能是能够编写和读取 Excel、CSV 和许多其他类型的文件并且能有效地进行处理文件。支持从本地文件系统或URL读取的xls,xlsx,xlsm,xlsb和odf文件扩展名。当使用 Pandas 做数据分析的时,需要读取事先准备好的数据集,这是做数据分析的第一步。read_csv() 函数的功能是可以让文件或者文件中url地址以及文件新对象中加载带有分隔符的数据,它默认分隔符是逗号。一本文理科与二本文理科最高分数线是多少,最低的分数线是多少,相差多少?

CarveStone的博客 3384

2026年AI编程工作流实战:Claude Code与Open Code深度对比

AI编程已从代码生成工具升级为IDE级智能工作流核心能力。其本质是将大语言模型深度嵌入开发环境,通过语义理解、上下文感知与行动闭环重构传统编码范式。Claude Code以企业级知识图谱和双轨Code Review为代表,强调合规性、可审计与深度集成;Open Code则依托Skill可组合性、本地优先模型与ocp协议,实现开源驱动的灵活扩展。二者共同推动IDE从‘编辑器’进化为‘数字搭档’——能理解RFC文档、记住PR评论、自动补全带重试的fetch逻辑,并在Promise链发呆时一键重构为async/a

weixin_33739523的博客 464

智能车八邻域图像算法

智能车八邻域图像算法

技术缝合怪的博客 4万+

在Python中使用pandas进行文件读取和写入方法详解

Pandas 是 Python 的一个功能强大且灵活的三方包,可处理标记和时间序列数据。还提供统计方法、启用绘图等功能。Pandas 的一项重要功能是能够编写和读取 Excel、CSV 和许多其他类型的文件并且能有效地进行处理文件。 文章目录 pandas 的安装 在你所在的开发环境命令行输入。如果默认用的Anaconda安装的话可以略过此过程。 pip install pandas 数据的准备 使用 20 个国家/地区相关的数据。数据的列的说明如下: Country 表示国家名称。

m0_59485658的博客 7645

合规批量下载美国上市公司年报数据的一些经验和总结

本文总结了使用Python脚本批量下载和处理美国上市公司SEC报告的技术经验。通过CIK代码查询SEC EDGAR系统,生成特定日期和报告类型的URL,并使用Selenium和Requests库下载报告内容。流程包括数据获取、文件下载、Excel处理和多线程优化,确保高效处理几百条数据。关键技术挑战包括SEC访问限制、动态网页内容和数据完整性,解决方案包括设置合规的User-Agent、使用Selenium模拟浏览器行为以及错误日志记录。最佳实践包括模块化设计、多线程优化和严格遵守SEC合规性。该自动化流程

jyfool的博客 1636

python pandas读取csv文件_Pandas读写CSV文件的方法示例

读csv使用pandas读取import pandas as pdimport csvif name == '__main__':# header=0——表示csv文件的第一行默认为dataframe数据的行名称,# index_col=0——表示使用第0列作为dataframe的行索引,# squeeze=True——表示如果文件只包含一列,则返回一个序列。file_dataframe = pd...

weixin_39850365的博客 619

基于强化学习的工业SCR脱硝系统控制算法设计与实现

本文提出了一种基于强化学习的工业SCR脱硝系统智能控制方法。针对SCR系统存在的非线性、大滞后和多变量耦合等控制难点,研究采用混合建模方法构建了精度在5%以内的系统模型,并设计了专门的强化学习环境。该方法通过定义合理的动作空间和状态空间,结合物理约束设计损失函数,利用深度强化学习算法优化氨喷射控制策略。相比传统PID控制,该智能控制器能更好地适应烟气参数波动,实现NOx排放的稳定控制,为工业环保设施提供了更优的自动化解决方案。

huanghm88的专栏 1456

【TELEMAC V8P4】TELEMAC-2D 用户手册核心概念与应用场景速览

本文深入解析了TELEMAC-2D水动力模型的核心概念与应用。作为基于二维浅水方程的开源数值模拟工具,TELEMAC-2D广泛应用于河流动力学、洪水演进、污染物输运及泥沙运动模拟。文章结合用户手册与实战经验,详细拆解了其理论框架、关键物理过程(如湍流模型、干湿网格处理),并提供了从模型搭建、文件配置到典型场景(如工程评估、污染应急、洪水模拟)的实用指南,帮助用户快速掌握这一强大工具。

weixin_29200741的博客 163

python--pandas模块读取csv文件数据的替代方法

https://zhidao.baidu.com/question/746711779069632932.html

liuyingying0418的博客 2005

作为一名爬虫人如何实现千万级数据爬取?

爬虫门槛不高,高就高在往后余生的每一次实操都随时会让你崩溃!Bro

吴秋霖的博客 1万+

python pandas读取csv_Python Pandas批量读取csv文件到dataframe的方法

PYTHON Pandas批量读取csv文件到DATAFRAME首先使用glob.glob获得文件路径。然后定义一个列表,读取文件后再使用concat合并读取到的数据。#读取数据import pandas as pdimport numpy as npimport glob,ospath=r'e:\tj\month\fx1806'file=glob.glob(os.path.join(path, ...

weixin_39958631的博客 2071

【Flink】FlinkCDC获取mysql数据时间类型差8小时时区解决方案

​ 1、背景: 在我们使用FlinkCDC采集mysql数据的时候,日期类型是我们很常见的类型,但是FlinkCDC读取出来会和数据库的日期时间不一致,情况如下 FlinkCDC获取的数据中create_time字段1694597238000转换为时间戳2023-09-13 17:27:18,而数据库中原始数据如下,并没有到下午5点,这就导致了FlinkCDC读出来的时间和数据库中实际的时间不一致的情况,与数据库对比可以发现,这里的时间戳与数据库时间刚好相差了 8 个小时,在实际生产中这种情况是不

一杯咖啡半杯糖的博客 3854

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python按列读取xlsx文件_Python使用pandas和xlsxwriter读写xlsx文件的方法示例

python使用pandas和xlsxwriter读写xlsx文件已有xlsx文件如下:1. 读取前n行所有数据# coding: utf-8import pandas as pd# 1. 读取前n行所有数据df = pd.read_excel('school.xlsx')#读取xlsx中第一个sheetdata1 = df.head(7) # 读取前7行的所有数据,dataFrame结构dat...

weixin_39563132的博客 1869

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python 批量读取csv 文件到dataframe_Python Pandas批量读取csv文件到dataframe的方法

PYTHON Pandas批量读取csv文件到DATAFRAME首先使用glob.glob获得文件路径。然后定义一个列表,读取文件后再使用concat合并读取到的数据。#读取数据import pandas as pdimport numpy as npimport glob,ospath=r'e:\tj\month\fx1806'file=glob.glob(os.path.join(path, ...

weixin_42382703的博客 2617

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

python pandas获取csv指定行 列的操作方法pandas获取csv指定行,列house_info = pd.read_csv('house_info.csv')1:取行的操作:house_info.loc[3:6]类似于python的切片操作2:取列操作:house_info['price'] 这是读取csv文件时默认的第一行索引3:取两列house_info[['price',tra...

weixin_39588252的博客 8737

python pandas读取txt文件_python利用pandas将excel文件转换为txt文件的方法

python将数据换为txt的方法有很多,可以用xlrd库实现。本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件。直接上代码:'''function:将excel文件转换为textauthor:Nstockdate:2018/3/1'''import pandas as pdimport reimport codecs#将excel转化为txt文件def ...

weixin_39575565的博客 597

python用pandas读取csv文件_使用pandas读取csv文件的指定列方法

根据教程实现了读取csv文件前面的几行数据,一下就想到了是不是可以实现前面几列的数据。经过多番尝试总算试出来了一种方法。之所以想实现读取前面的几列是因为我手头的一个csv文件恰好有后面几列没有可用数据,但是却一直存在着。原来的数据如下:GreydeMac-mini:chapter06 greyzhang$ cat data.csv1,name_01,coment_01,,,,2,name_02,c...

weixin_39769228的博客 1045

python读取xlsx文件pandas_python中pandas和xlsxwriter读写xlsx文件的方法介绍(附代码)...

本篇文章给大家带来的内容是关于python中pandas和xlsxwriter读写xlsx文件的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。已有xlsx文件如下:1. 读取前n行所有数据# coding: utf-8import pandas as pd# 1. 读取前n行所有数据df = pd.read_excel('school.xlsx')#读取xl...

weixin_39952800的博客 679

python pandas csv读取,使用pandas读取csv文件的指定列方法

根据教程实现了读取csv文件前面的几行数据,一下就想到了是不是可以实现前面几列的数据。经过多番尝试总算试出来了一种方法。之所以想实现读取前面的几列是因为我手头的一个csv文件恰好有后面几列没有可用数据,但是却一直存在着。原来的数据如下:GreydeMac-mini:chapter06 greyzhang$ cat data.csv如果使用pandas读取出全部的数据,打印的时候会出现以下结果:In...

weixin_33916124的博客 4701

python找不到csv文件_pandas读取csv文件提示不存在的解决方法及原因分析

一般情况是数据文件没有在当前路径,那么它是无法读取数据的。另外,如果路径名包含中文它也是无法读取的。(1)可以选择:import osos.getcwd()获得当前的工作路径,把你的数据文件放在此路径上就可以了,就可以直接使用pd.read_csv("./_.csv")(2)可以选择:使用os.chdir(path),path是你的那个数据文件路径(3)可以选择:不更改路径,直接调用df=pd.r...

weixin_39935903的博客 7733

python 批量读取csv_Python Pandas批量读取csv文件到dataframe的方法

PYTHON Pandas批量读取csv文件到DATAFRAME首先使用glob.glob获得文件路径。然后定义一个列表,读取文件后再使用concat合并读取到的数据。#读取数据import pandas as pdimport numpy as npimport glob,ospath=r'e:tjmonthfx1806'file=glob.glob(os.path.join(path, "zq...

weixin_39540178的博客 2365
上一篇: 【学习笔记】透视HTTP协议(八):请求方法详解
下一篇: 【python】pandas:DataFrame详解
叶阿猪
博客等级 码龄11年 983粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值