python基础之③csv文件读取和写入
QQ:3020889729 小蔡
- 什么是CSV
- 引用csv库
- 简要说明打开csv文件的一种方式(用with……as……)
- csv文件读取
- csv文件写入
- pandas读取csv和写入csv
QQ:3020889729 小蔡
什么是CSV
其文件以纯文本形式存储表格数据(数字和文本)。
一般以逗号分隔值~
引用csv库
如果拥有pandas那就可以直接使用
filename = ‘demo2.csv’
data = pd.read_csv(filename)
也可以按部就班呢,下载安装csv库
import csv
# 包含需要的csv支持方法等
简要说明打开csv文件的一种方式(用with……as……)
最基本的操作,这时候我们文件打开后是要自己关闭的
filename = open('demo2.csv','r',encoding='utf-8')
……
filename.close()
我们换成with……as,就可以实现自动关闭(结束with部分就自动关闭)
with open('demo2.csv','r',encoding='utf-8') as csvf:
……
#print……之前就会关闭文件
print......
csv文件读取
实例:
with open('demo2.csv','r',encoding='utf-8') as csvf:
csvrf = csv.reader(csvf) # 获取read权限的csv对象
# data=next(csvrf) next只读取一行
# 要全部读取,可以使用for in,把文件的全部遍历出来,然后打印每一个遍历值
for i in csvrf:
print(i)
效果:
csv文件写入
实例:
with open('demo2.csv','w',encoding='utf-8',newline='') as csvf:
csvwf = csv.writer(csvf,dialect='excel') # 获取允许写的指定文件对象,并设置默认打开方式为excel
csvwf.writerow(['A', 'B', 'C', 'D'])# 直接写入会存在空行——应该在打开时添加newline="",否则默认是"\n"
csvwf.writerow(['1', '3', '5', '8'])# 行写入
csvwf.writerow(['4', '2', '6', '7'])
效果:每一次写入,各占一行——迭代往下
pandas读取csv和写入csv
实例:
# 使用pandas库读取文件
import pandas as pd # pandas库
# import csv # csv文件读取写入支持库
filename = 'demo2.csv' # 用一个变量装取读取的文件名
data = pd.read_csv(filename) # 获取允许读取的csv对象
print(data.head())#会在每行数据中依次读出一个序列号
# head()无参数,默认读取前5行
# 数据写入一个新的csv文件中
data_to = data.head() # 把读取的指定数据保存以下(也是对象哦)
data_to.to_csv('demo3.csv',index=False) # 将数据内容写入指定文件
# index=False不需要序列号
效果:
输出部分:
处理掉序列号保存的内容: