Python输出csv、excel表格

2020-01-07 20:12:31 浏览数 (1)

Python与机器学习之数据可视化(二)

在机器学习应用过程中,最重要的部分之一是数据可视化。换句话,如何说服别人或者自己? 环境: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文件

代码语言:javascript复制
#打开文件
#方式wb会省去许多问题
with open("XXX.csv","rb",encoding="utf-8") as csvfile:
     #读取csv文件,返回的是迭代类型
     read = csv.reader(csvfile)
     for i in read:print(i)

写出csv文件

代码语言:javascript复制
#注意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"])

字典方式读写

代码语言:javascript复制
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'})

总结

代码语言:javascript复制
csv清晰简单,是数据可视化中不可缺少的部分。
如果您看到这篇文章有收获或者有不同的意见,欢迎点赞或者评论。
python群:190341254
丁。

0 人点赞