社区编辑申请
注册/登录
五种常用格式的数据输出,手把手教你用Pandas实现
大数据 数据分析
任何原始格式的数据载入DataFrame后,都可以使用类似DataFrame.to_csv()的方法输出到相应格式的文件或者目标系统里。本文将介绍一些常用的数据输出目标格式。

01 CSV

DataFrame.to_csv方法可以将DataFrame导出为CSV格式的文件,需要传入一个CSV文件名。

df.to_csv('done.csv')
df.to_csv('data/done.csv'# 可以指定文件目录路径
df.to_csv('done.csv'index=False# 不要索引

另外还可以使用sep参数指定分隔符,columns传入一个序列指定列名,编码用encoding传入。如果不需要表头,可以将header设为False。如果文件较大,可以使用compression进行压缩:

# 创建一个包含out.csv的压缩文件out.zip
compression_opts = dict(method='zip',
                        archive_name='out.csv')  
df.to_csv('out.zip'index=False,
          compression=compression_opts)  

02 Excel

将DataFrame导出为Excel格式也很方便,使用DataFrame.to_excel方法即可。要想把DataFrame对象导出,首先要指定一个文件名,这个文件名必须以.xlsx或.xls为扩展名,生成的文件标签名也可以用sheet_name指定。

如果要导出多个DataFrame到一个Excel,可以借助ExcelWriter对象来实现。

# 导出,可以指定文件路径
df.to_excel('path_to_file.xlsx')
# 指定sheet名,不要索引
df.to_excel('path_to_file.xlsx'sheet_name='Sheet1'index=False)
# 指定索引名,不合并单元格
df.to_excel('path_to_file.xlsx'index_label='label'merge_cells=False)

多个数据的导出如下:

# 将多个df分不同sheet导入一个Excel文件中
with pd.ExcelWriter('path_to_file.xlsx'as writer:
    df1.to_excel(writersheet_name='Sheet1')
    df2.to_excel(writersheet_name='Sheet2')

使用指定的Excel导出引擎如下:

# 指定操作引擎
df.to_excel('path_to_file.xlsx'sheet_name='Sheet1'engine='xlsxwriter')
# 在'engine'参数中设置ExcelWriter使用的引擎
writer = pd.ExcelWriter('path_to_file.xlsx'engine='xlsxwriter')
df.to_excel(writer)
writer.save()

# 设置系统引擎
from pandas import options  # noqa: E402
options.io.excel.xlsx.writer = 'xlsxwriter'
df.to_excel('path_to_file.xlsx'sheet_name='Sheet1')

03 HTML

DataFrame.to_html会将DataFrame中的数据组装在HTML代码的table标签中,输入一个字符串,这部分HTML代码可以放在网页中进行展示,也可以作为邮件正文。

print(df.to_html())
print(df.to_html(columns=[0])) # 输出指定列
print(df.to_html(bold_rows=False)) # 表头不加粗
# 表格指定样式,支持多个
print(df.to_html(classes=['class1''class2']))

04 数据库(SQL)

将DataFrame中的数据保存到数据库的对应表中:

# 需要安装SQLAlchemy库
from sqlalchemy import create_engine
# 创建数据库对象,SQLite内存模式
engine = create_engine('sqlite:///:memory:')
# 取出表名为data的表数据
with engine.connect() as connconn.begin():
    data = pd.read_sql_table('data'conn)

# data
# 将数据写入
data.to_sql('data'engine)
# 大量写入
data.to_sql('data_chunked'enginechunksize=1000)
# 使用SQL查询
pd.read_sql_query('SELECT * FROM data'engine)

05 Markdown

Markdown是一种常用的技术文档编写语言,Pandas支持输出Markdown格式的字符串,如下:

print(cdf.to_markdown())

'''
|    |   x |   y |   z |
|:---|----:|----:|----:|
| a  |   1 |   2 |   3 |
| b  |   4 |   5 |   6 |
| c  |   7 |   8 |   9 |
'''

小结

本文介绍了如何将DataFrame对象数据进行输出,数据经输出、持久化后会成为固定的数据资产,供我们进行归档和分析。

关于作者:李庆辉,数据产品专家,某电商公司数据产品团队负责人,擅长通过数据治理、数据分析、数据化运营提升公司的数据应用水平。精通Python数据科学及Python Web开发,曾独立开发公司的自动化数据分析平台,参与教育部“1+X”数据分析(Python)职业技能等级标准评审。中国人工智能学会会员,企业数字化、数据产品和数据分析讲师,在个人网站“盖若”上编写的技术和产品教程广受欢迎。

本书摘编自《深入浅出Pandas:利用Python进行数据处理与分析》,机械工业出版社华章公司2021年出版。转载请与我们取得授权。

责任编辑:庞桂玉 来源: 大数据DT
相关推荐

2022-04-01 20:29:26

Pandas数据存储

2022-06-05 21:09:47

Python办公自动化

2022-06-28 22:13:33

Polars数据处理与分析

2022-06-20 22:37:25

Linux操作系统命令

2022-06-17 09:21:53

Pandas代码透视表

2021-12-29 20:20:25

2022-06-15 08:25:07

Python天气数据可视化分析

2022-04-25 08:43:47

pandas代码Python

2022-07-03 06:10:15

2022-05-28 16:14:13

手机更新APP

2022-05-07 10:14:07

Python数据可视化

2022-06-28 12:35:21

DockerPython

2022-05-26 07:41:24

Ftp服务器

2022-06-30 18:17:00

数据集云数据建模计数据仓库

2022-05-23 11:13:02

Python工具

2022-06-15 16:16:21

分布式数据库鸿蒙

2022-06-27 19:01:04

Python应用程序数据

2022-06-16 11:01:22

数据库SQL

2022-06-15 08:21:49

Linux运维工程师

2022-06-23 12:43:36

区块链加密货币

同话题下的热门内容

七个好用常见的大数据分析模型Apache Doris刚刚 "毕业":这个SQL数据仓库有什么不一样?数据指标 VS 标签体系,到底有啥区别?终于讲清楚了!大变局!全国房价,跌破万元大关一文看懂:数据指标体系的四大类型十张图,数据分析如何赋能销售

编辑推荐

什么是数据分析的漏斗模型?数据分析师还吃香吗?用数据告诉你对比解读五种主流大数据架构的数据分析能力《狄仁杰之四大天王》影评分析(爬虫+词云+热力图)22个免费的数据可视化和分析工具推荐
我收藏的内容
点赞
收藏

51CTO技术栈公众号