Python输出csv、excel表格
在机器学习应用过程中,最重要的部分之一是数据可视化。换句话,如何说服别人或者自己?
环境:python3.5
excel表格
通过查阅资料,发现python excel有关的库有两组,一组是xlrd、xlwt、xlutils,另一组是openpyxl。
- 第一组(xlrd、xlwt、xlutils)支持在Excel 97-2003甚至是更早的版本。
- 第二组(openpyxl)支持Excel 2010版本。
然而已经2017,时光匆匆…
所以笔者不推荐输出Excel如.xlsx格式,更好的建议有pyMysql数据库以及如下介绍的CSV格式。
ps:真想输出.xlsx,推荐网站->直戳
CSV文件
- 定义——逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值),其文件以纯文本形式存储表格数据(数字和文本)。
- 应用——CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。
- 使用——完全可以用excel打开,如图
CSV教程
导入
import csv
读取csv文件
#打开文件
#方式wb会省去许多问题
with open("XXX.csv","rb",encoding="utf-8") as csvfile:
#读取csv文件,返回的是迭代类型
read = csv.reader(csvfile)
for i in read:print(i)
写出csv文件
#注意newline
with open("XXX.csv","w",newline="") as datacsv:
#dialect为打开csv文件的方式,默认是excel,delimiter="\t"参数指写入的时候的分隔符
csvwriter = csv.writer(datacsv,dialect = ("excel"))
#csv文件插入一行数据,把下面列表中的每一项放入一个单元格(可以用循环插入多行)
csvwriter.writerow(["A","B","C","D"])
字典方式读写
import csv
# 读
with open('names.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['last_name'])
#Out:
Baked Beans
Lovely Spam
Wonderful Spam
# 写
with open('names.csv', 'wb') as csvfile:
fieldnames = ['first_name', 'last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
#注意header是个好东西
writer.writeheader()
writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
总结
csv清晰简单,是数据可视化中不可缺少的部分。
如果您看到这篇文章有收获或者有不同的意见,欢迎点赞或者评论。
Python群:190341254
丁。
相关文章