pandas的dataframe对象,如何转化为csv文件?
发布于 作者:苏南大叔 来源:程序如此灵动~
在描述pandas库的时候,苏南大叔一直在灌输一种思想,就是pandas的dataframe数据结构,和excel里面的一张表是非常类似的。那么,这种情况就是说,dataframe存在着转换为csv文件的可能性。

大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码的故事。本文讲述,pandas的dataframe对象如何保存为csv文件或者excel文件。本文测试环境:python@3.6.8,pandas@1.1.5, xlwt@1.3.0。
概述
首先要有个dataframe对象df,然后:
| 目标 | 方法 | 额外安装 |
|---|---|---|
保存为csv文件 | df.to_csv(filename) | |
保存为excel文件 | df.to_excel(filename) | pip install xlwt |
测试代码
测试代码如下:
import pandas as pd
from pandas import Series, DataFrame
df = DataFrame([
('虎子', 5, "dog"),
('老许', 3, "cat"),
],
columns=('name', 'age', 'class')
)
df.to_csv("test.csv")
df.to_csv("test2.csv", index=False)
df.to_csv("test3.csv", index=True)
df.to_csv("test4.csv", header=True)
df.to_csv("test5.csv", header=False)核心代码就是:
df.to_csv("test.csv")
苏南大叔个人认为,最可能的推荐使用情况是:
df.to_csv("test2.csv", index=False)
索引列参数index,默认值True
在官方网站上,这个函数有着非常多的参数,不过对于苏南大叔来说,用的到的目前就一个参数index。
这个参数的意思是,是否在csv文件中保留索引列,也就是最左边的id列。
保留索引列:
df.to_csv("test.csv")
df.to_csv("test.csv", index=True)不保留索引列:
df.to_csv("test.csv", index=False)表头行参数header,默认值True
保留表头:
df.to_csv("test.csv")
df.to_csv("test.csv", header=True)不保留表头:
df.to_csv("test.csv", header=False)参考文献
在python自带的csv模块中,也有类似的功能csvwriter,具体可以参考下面的文章:
pandas官方的说明网页,见这里,注意链接中的版本号:
总结
dataframe数据转化为csv文件,可以使用遍历变量写入,也可以使用这个非常好用的to_csv()函数一次性写入。更多pandas文章,请点击苏南大叔的博客: