Python 将数据写入CSV文件

2021/10/9 14:48:50

本文主要是介绍Python 将数据写入CSV文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 1.介绍CSV
  • 2. Python代码
  • 3.运行结果
  • 4. 用Excel打开上述结果,发现出现空行问题
    • 4.1 Python2 解决
    • 4.2 Python3 解决
  • 5.dict.keys()和dict_values转换成list类型及访问操作

1.介绍CSV

逗号分隔值(Comma-Separated Values,CSV,也称为字符分隔值,分隔字符也可以不是逗号)。

保存形式
其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

分隔符号
CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。

打开方式
通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

2. Python代码

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 导入CSV安装包
import csv
# 1. 创建文件对象
f = open('文件名.csv','w',encoding='utf-8')
#或者:
with open('A.csv', 'a', encoding='utf-8', newline='') as f:
# 2. 基于文件对象构建 csv写入对象
    csv_writer = csv.writer(f)
# 3. 构建列表头
    csv_writer.writerow(["姓名","年龄","性别"])
# 4. 写入csv文件内容
    csv_writer.writerow(["l",'18','男'])
    csv_writer.writerow(["c",'20','男'])
    csv_writer.writerow(["w",'22','女'])

# 5. 关闭文件
f.close()  # with方法不需要

3.运行结果

本文介绍就直接使用文本打开,结果如下:

4. 用Excel打开上述结果,发现出现空行问题

4.1 Python2 解决

将写入方式w 修改成wb

f = open(‘文件名.csv’,‘wb’,encoding=‘utf-8’)

4.2 Python3 解决

Python2的解决方式也支持,同时也可以添加newline=’’"参数即可,如下所示:

f = open(‘文件名.csv’,‘w’,encoding=‘utf-8’,newline=’’ ")

5.dict.keys()和dict_values转换成list类型及访问操作

from collections import Counter
s = "aaabcccdeff"
temp = Counter(s)
print(temp)           # Counter({'a': 3, 'c': 3, 'f': 2, 'b': 1, 'd': 1, 'e': 1})
print(type(temp))     # <class 'collections.Counter'>

print(temp.items())   # dict_items([('a', 3), ('b', 1), ('c', 3), ('d', 1), ('e', 1), ('f', 2)])
print(temp.keys())    # dict_keys(['a', 'b', 'c', 'd', 'e', 'f'])
print(temp.values())  # dict_values([3, 1, 3, 1, 1, 2])

# dict.keys()转换成list类型
print(list(temp.keys()))        # ['a', 'b', 'c', 'd', 'e', 'f']
# dict_values转化为list类型
print(list(temp.values())[:])   # [3, 1, 3, 1, 1, 2]



这篇关于Python 将数据写入CSV文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程