脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python读写csv文件实例代码

python读写csv文件实例代码

2021-08-02 00:00 Python

在本篇文章中小编给各位分享了关于python读取和写入csv文件的知识点以及实例代码,需要的朋友们参考下。

Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入。

写入CSV文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import csv   # 需要import csv的文件包
 
out=open("aa.csv",'wb')     # 注意这里如果以‘w'的形式打开,每次写入的数据中间就会多一个空行,所以要用‘wb'
 
csv_write=csv.write(out,dialect='excel')
 
# 下面进行具体的内容写入
 
ss=['a',3]
 
csv_write.writerow(ss)   #这样ss里面的信息就被写入到aa.csv文件中了,而且是在两列中
 
                #这里如果需要写入多行,那么就采用循环进行循环输入就可以了
 
out.close()

读取CSV文件

?
1
2
3
4
5
6
7
8
9
10
11
import csv
 
out=open("aa.csv",'r')
 
read_csv=csv.reader(out,dialect='excel')
 
for line in read_csv:   #循环输出csv中的所有数据
 
  print line
 
out.close()

知识点扩展:

?
1
import csv

读文件

reader方法

?
1
2
3
4
5
6
7
8
9
with open('./data.csv', 'r') as f:
 reader = csv.reader(f)
 # python 2
 header = reader.next()
 # python 3x 使用python内置的next
 header = next(reader)
 #获取真正的数据
 for row in reader:
  print(row) # 打印每一行,列表类型,只能按位置索引

稍微介绍一下next(iterable, [default ])函数,它是python3x内置的,用于遍历可迭代对象的方法,其中iterable可以使字符串、列表、字典、元祖、集合等。若default给出,那么遍历到头时返回这个值,不然就抛异常。
这让我想到了字典的get()方法,它也有类似作用。比如,

?
1
2
# 如果dic里面没有key1这个键,那就返回我们指定的0
dic.get('key1', 0)

DictReader方法

写文件

跟读对应, 写操作也有两个方法

writer方法,适用列表的列表

?
1
2
3
4
5
6
7
8
with open('./data.csv', 'w') as f:
 header = ['col1', 'col2', ...]
 writer = csv.writer(f)
 writer.writeheader(header)
 for row in row_list:
  writer.writerow(row)
 # 或直接调用
 writer.writerows(row_list)

DictWriter方法,适用字典列表

?
1
2
3
4
5
6
7
with open('./data.csv', 'w') as f:
 dictwriter = csv.DictWriter(f)
 dictwriter.writeheader(dic_list[0].keys())
 for dic in dic_list:
  writer.writerow(dic)
 # 或者一次性写入,直接调用
  wrier.writerows(dic_list)

都是些比较基础的操作,在这里记录一下。如果你觉得有帮助,就更好了。

延伸 · 阅读

精彩推荐