Python读写csv文件的基本操作是什么,怎样实现
Admin 2022-09-02 群英技术资讯 473 次浏览
利用csv包中的writer函数,如果文件不存在,会自动创建,需要注意的是,文件后缀一定要是.csv,这样才会创建csv文件
这里创建好文件,将csv文件的头信息写进了文件。
import csv def create_csv(): path = "aa.csv" with open(path,'wb') as f: csv_write = csv.writer(f) csv_head = ["good","bad"] csv_write.writerow(csv_head)
在python中,以a+的方式打开,是追加
def write_csv(): path = "aa.csv" with open(path,'a+') as f: csv_write = csv.writer(f) data_row = ["1","2"] csv_write.writerow(data_row)
利用csv.reader可以读csv文件,然后返回一个可迭代的对象csv_read,我们可以直接从csv_read中取数据
def read_csv(): path = "aa.csv" with open(path,"rb") as f: csv_read = csv.reader(f) for line in csv_read: print line
python利用open打开文件的方式:
w
:以写方式打开a
:以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+
:以读写模式打开 w+
:以读写模式打开 (参见 w ) a+
:以读写模式打开 (参见 a ) rb
:以二进制读模式打开 wb
:以二进制写模式打开 (参见 w ) ab
:以二进制追加模式打开 (参见 a ) rb+
:以二进制读写模式打开 (参见 r+ ) wb+
:以二进制读写模式打开 (参见 w+ ) ab+
:以二进制读写模式打开 (参见 a+ )生成的 txt 文件名称事先不知道,其名称根据数据范围的不同生成不同名称的 txt 文件,主要应用 str(x) + ‘.txt’ 加以实现。
把数据写入 n1-n2.txt 中,n1,n2 由循环产生
import pandas as pd a = [[1,2],[3,4]] data = DataFrame(a,index=['x1', 'x2'],columns=['y1', 'y2']) path= r'C:\Users\Administrator\Desktop\files' for i in range(0,4): for j in range(0,4): x = data.to_csv(os.path.join(path,str(i) + '-' + str(j) + '.txt'),sep='\t',header=None,index=None)
运行结果:
应用str(i)+…+’.txt’ 可以生成任意名称的文件。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python中complex函数可表示复数。复数表示为z=a+bi(a,b均为实数),其中a称为实部,b称为虚部,i称为虚数单位。在Python中complex函数创建一个值为 real + imag * j 的复数,real为实部,imag为虚部。或者转化一个字符串或数为复数。具体complex函数是什么,本文将做详细解释。
这篇文章主要介绍了Python基础之操作MySQL数据库,文中有非常详细的代码示例,对正在学习python基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
前言最近 Python 之父 Guido van Rossum(龟爷)终于在 Python 官方邮件组落实了 Python 2 7 的终焉之日(EOL)。说的是 Python
这篇文章主要介绍了9个提高 Python 编程的小技巧,下文分享python编程技巧,需要的小伙伴可以参考一下,希望对你的学习有所帮助
python中字符串转成数字的三种方法:1、使用join的方法;2、使用int函数将16进制字符串转化为10进制整数;3、使用列表生成式进行转换。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008