ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python基础之③csv文件读取和写入

2020-02-22 18:02:49  阅读:269  来源: 互联网

标签:文件 读取 python 写入 filename csv data


python基础之③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不需要序列号

效果:
输出部分:
在这里插入图片描述
处理掉序列号保存的内容:
在这里插入图片描述

笔岸柳影 发布了92 篇原创文章 · 获赞 99 · 访问量 1万+ 私信 关注

标签:文件,读取,python,写入,filename,csv,data
来源: https://blog.csdn.net/weixin_44604887/article/details/104447202

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有