pandas:读取各类文件方法以及爬虫时json数据保存

news/2024/11/14 14:28:00/

文件的读取与写入

| 常用读文件方法 | 说明             |
| -------------- | ---------------- |
| read_csv       | 读取CSV文件      |
| read_excel     | 读取Excel文件    |
| read_html      | 读取网页HTML文件 |
| read_table     | 通用读取方法     |

| 常用写文件方法 | 说明        |
| -------------- | ----------- |
| to_csv         | 写csv文件   |
| to_excel       | 写Excel文件 |

1、读取文件常用的参数


pandas.read_csv(
    filepath_or_buffer=None,
    sep=',',
    delimiter=None,
    header=None,
    names=None,
    index_col=None,
    usecols=None,
    skiprows=None,
    na_values=None,
    nrows=None,
    chunksize=None,
    encoding=None,
):
 

| 参数               | 说明                                                         |
| ------------------ | ------------------------------------------------------------ |
| filepath_or_buffer | 读取文件的路径或对象                                         |
| sep/delimiter      | 输出文件的字段分隔符, 默认字符","                            |
| header             | 默认为'infer',读取第一行作为列名,也可以为None,使用默认列索引 |
| names              | 自定义列名/列索引                                            |
| index_col          | 选择一列作为行索引,可以输入默认列索引 也可以使用自定义的列索引/列名 |
| usecols            | 只读取选中的列                                               |
| skiprows           | 跳过行读取                                                   |
| na_values          | 个性化数据,将指定的数据变为缺失值NaN                         |
| nrows              | 数据按指定行显示                                             |
| chunksize          | 数据按指定行进行分块                                         |
| encoding           | 设置编码格式                                                 |

注意事项:

1、一般情况下我们用utf-8的编码进行保存,如果出现中文编码错误,则可以依次换用gbk,gb2312,gb18030等, 一般总能成功的

 2、写入文件参数

```
df.to_csv(
    path_or_buf=None,
    sep=',',
    columns=None,
    header=True,
    index_lable=None,
    index=True,
    encoding=None,)
```

| 参数        | 说明                               |
| ----------- | ---------------------------------- |
| path_or_buf | 写入文件的路径或对象               |
| sep         | 输出文件的字段分隔符, 默认字符","  |
| columns     | 空值写入后的顺序,也可选列写入      |
| header      | 布尔值,默认为True,写入列名称(索引) |
| index_label | 选择列作为 行索引                  |
| index       | 布尔值,默认为True,写入行名称(索引) |
| encoding    | 设置写入的编码格式                 |

excel表格读取写入特点

所有的读取和写入方法的参数通用,唯独excel表格有几个不一样的点

1、写入excel文件需要依赖模块-openpyxl

```python
安装: pip install openpyxl
```

2、读取excel文件需要依赖模块-xlrd

```
安装: pip install xlrd


df.to_excel(
        excel_writer,
        sheet_name="Sheet1",
        columns=None,
        header=True,
        index=True,
        index_label=None,
        encoding=None,
    )
```

| 特有的参数   | 说明                |
| ------------ | ------------------- |
| excel_writer | ExcelWriter目标路径 |
| sheet_name   | excel工作表名命名   |

- read_excel


pandas.read_excel(
    io,
    sheet_name=0,
    header=0,
    names=None,
    index_col=None,
    usecols=None,
    skiprows=None,
    nrows=None,
    na_values=None,
)
```

| 特有的参数 | 说明                                                         |
| ---------- | ------------------------------------------------------------ |
| io         | excel路径                                                    |
| sheet_name | 默认为0,多工作表读取使用sheetname=[0, 1],若sheetname=None是返回全表 |

当学习了读取和写入之后,就可以将爬虫的数据转为dataframe,使用dataframe写入的方式进行文件保存


http://www.ppmy.cn/news/1528183.html

相关文章

leetcode160相交列表

思路 一开始以为要固定A,然后循环B,这个复杂度也太高了 题解: https://leetcode.cn/problems/intersection-of-two-linked-lists/?envTypestudy-plan-v2&envIdtop-100-liked 代码 /*** Definition for singly-linked list.* publi…

vue node node-sass sass-loader 版本 对应 与 兼容

警告: LibSass 和 Node Sass 已弃用。虽然它们将继续无限期地接收维护版本,但没有计划添加其他功能或与任何新的 CSS 或 Sass 功能兼容。仍在使用它的项目应该转移到 Dart Sass。 sass Sass是一种预处理器脚本语言,可以解释或编译成…

探索Python的Excel世界:openpyxl的魔法之旅

文章目录 探索Python的Excel世界:openpyxl的魔法之旅背景:为什么选择openpyxl?什么是openpyxl?如何安装openpyxl?简单的库函数使用方法场景应用:openpyxl在实际工作中的应用常见bug及解决方案总结 探索Pyth…

华为SMU02B1智能通信电源监控单元模块简介

华为SMU02B1是一款智能通信电源监控单元模块,专为5G嵌入式机框设计,它在通信电源管理领域扮演着重要角色。以下是对该产品的详细介绍: 一、产品概述 主要功能:华为SMU02B1能够监控和管理通信电源系统,提供站点监控功能…

算法练习题27——疫情下的电影院(模拟)

其实思路还好 就是输入有点难搞 Java import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String input scanner.nextLine();// 去掉输入字符串的方括号if (input.…

oracle 如何查死锁

在Oracle中查看死锁通常涉及查询数据字典视图和动态性能视图。以下是一个基本的查询示例,用于检测和显示最近的死锁: SELECT dd.inst_id, dd.name, o.object_id, o.object_type, s.sid, s.serial#, s.username, p.spid, s.program,d.xidusn,d.xidslot,d…

WGAN算法

Wasserstein GAN (WGAN) 是一种改进的生成对抗网络(GAN),由 Arjovsky 等人在 2017 年提出,用于解决原始 GAN 中的训练不稳定性和模式崩溃(Mode Collapse)问题。WGAN 的核心思想是使用Wasserstein 距离&…

【C#生态园】深入比较:六款C#数据流处理库对比解析

解密C#数据流处理利器:全面评析六大库 前言 随着信息技术的不断发展,数据流处理已经成为许多软件系统中必不可少的一部分。针对C#和.NET开发者来说,选择合适的数据流处理库可以极大地提高开发效率和系统性能。本文将介绍几个流行的C#数据流…