大家做在数据解决的时候,一定难免会与文件交互,那么对于指定的文件类型,我们如何操作呢?

1.python读写csv文件import csv #python2可以用file替代openwith open('test.csv','w') as csvFile: writer = csv.writer(csvFile) #先写columns_name writer.writerow(["index","a_name","b_name"]) #写入多行用writerows writer.writerows([[1,2,3],[0,1,2],[4,5,6]]) #用reder读取csv文件with open('test.csv','r') as csvFile: reader = csv.reader(csvFile) for line in reader: print line

肯定要注意,csv文件在写入时,字段和字段之间是用逗号“”,“”分割的,假如略微不注意,就会出现串行的情况。

2.python读写excel文件import xlwt#创立工作簿f = xlwt.Workbook() ''' 创立第一个sheet: sheet1 ''' #创立sheet sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) row0 = [u'编号',u'单位',u'网站备案号',u'域名',u'外链名称',u'不良网站名',u'不良url地址',u'地市',u'ip地址',u'截图',u'备注',u'审核时间',u'父链接',u'源码超链接'] #生成第一行 for i in range(0,len(row0)): sheet1.write(0,i,row0[i]) # 顺序为x行x列写入第x个元素 f.save('newfile.xls')#!/usr/bin/env python# -*- coding: utf-8 -*-# 读取excel数据import xlrddata = xlrd.open_workbook('test.xls') # 打开xls文件table = data.sheets()[0] # 打开第一张表nrows = table.nrows # 获取表的行数for i in range(nrows): # 循环逐行打印 if i == 0: # 跳过第一行 continue print table.row_values(i)

3.python读写txt文件#第一种with open("test.txt","r","utf-8") as f:   # 为a+模式时,由于为追加模式,指针已经移到文尾,读出来的是一个空字符串。 ftext = f.read() # 一次性读一律成一个字符串 ftextlist = f.readlines() # 也是一次性读一律,但每一行作为一个子句存入一个列表#第二种f = open('test.txt', 'r', 'utf-8') ftext = f.read() # 一次性读取完成ftextlist = f.readlines() # 同上fline = f.readline() # 只读取1行f.close() # 关闭文件# 写入txtf = open('test.txt', 'ab', 'utf-8') # 在文件存在内容的时候追加f = open('test.txt', 'wb', 'utf-8') # 文件存在时直接覆盖,没有就创立文件写入f.write('aa') # 文件写入内容f.close()# 第二种with open('test.txt', 'a') as f: # 道理同上 f.write('aa')with open('test.txt', 'w') as f: # 道理同上 f.write('aa')

image.png

接下来说说with open 和 open的区别:

区别:

用open去打开一个文件进行读取,假设文件不存在的话,比方打开文件 aaaa

image.png

假如文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在!

假如文件打开成功,接下来,调用read()方法可以一次读取文件的一律内容,Python把内容读到内存,用一个str对象表示>>> f.read()'Hello, world!'

最后一步是调用close()方法关闭文件。文件使用完毕后必需关闭,由于文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:f.close()

因为文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论能否出错都能正确地关闭文件,我们可以使用try ... finally来实现:try: f = open('/path/to/file', 'r') print(f.read())finally: if f: f.close()

但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:with open('/path/to/file', 'r') as f: print(f.read())

这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。

总结:以后读写文件都使用with open语句,不要再像以前那样用f = open()这种语句了!

作者:可爱的小虫虫

python将csv一行保存一个txt_Python读写文件(csv、txt、excel)相关推荐

  1. python写完程序保存_Python学习笔记——文件处理

    1.文件路径 1.1 不同系统环境下的路径 1.2 当前工作目录 1.3 绝对路径和相对路径 1.4 新建文件夹-- os.makedirs() 2.文件的读写 2.1 打开文件 2.2 读写文件 3 ...

  2. python 文本换行_Python学习入门(23)—读写文件

    (本号正在连续推出以Python官网文档为主线的系统学习Python的系列文章或视频,感兴趣的朋友们欢迎搜索关注.在这里学习Python事半功倍!本文及后续文章如无特别声明均以Windows平台作为演 ...

  3. python 使用 with open() as 读写文件

    读文件: 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: >>> f = open('E:\python\python\test.tx ...

  4. python生成试卷制卷系统_Python 读写文件 小应用:生成随机的测验试卷文件

    去年学习了python的读写文件部分,了解了python读写的常用模块os.shelve,今天准备把课后作业试着自己做一下 目标:1)生成35份试卷.每个试卷有50道选择题 2)为了防止有学生作弊,需 ...

  5. python中换行符怎么写_Python读写文件之换行符

    系统的换行符和路径分隔符 os模块可以获取当前系统的换行符和路径分隔符 windows操作系统 >>> os.linesep '\r\n' >>> os.sep ' ...

  6. python编写poc_干货分享丨Python从入门到编写POC之读写文件

    自发布了 今天与大家分享的是Python从入门到编写POC系列文章之读写文件,希望对大家学习有所帮助. 读写文件 读取键盘输入[raw_input( )或者input( )] >>> ...

  7. python判断最后一行_python中如何判断文件的最后一行是空行?

    问题: 前两天遇到一个问题,比如dat和bcp文件的格式需要最后一行一定是空行.但是用python怎么也不能读到最后一行的空行. test1: file_obj = open(file_name) a ...

  8. java删除csv一行_在Java中读取CSV文件时跳过第一行

    嘿家伙我正在编写解析器代码来读取.csv文件并将其解析为 XML.这是我的代码,它工作正常,但我希望它跳过文件中的第一行.所以我决定设置一个HashMap,但它似乎确实有效: for (int i = ...

  9. python爬取图片并且保存到本地指定文件夹内

    python爬取图片 先上代码: from urllib.request import Request, urlopen, urlretrieve from fake_useragent import ...

最新文章

  1. listary 指定目录搜索_everything
  2. 机会!搞科研的同伴注意了,再忙也要看一下!
  3. 该如何对「半监督学习算法」实际性应用进行评估?Google给出了新答案
  4. SpringMVC之Controller查找(Spring4.0.3/Spring5.0.4源码进化对比)
  5. jdbc链接数据库mysql
  6. 从运维的角度理解Iaas、Paas、Saas云计算
  7. html 对话框 flatballoon,CSS纯样式实现箭头、对话框等形状
  8. redis实现轮询算法_【07期】Redis中是如何实现分布式锁的?
  9. ggplot2中显示坐标轴_qplot()——ggplot2的快速绘图
  10. android开发我的新浪微博客户端-用户授权页面功能篇(3.2)
  11. 在Objective-C中分类对象和方法
  12. 基于微信小程序的学习网站源码
  13. AB PLC Modbus TCP通讯测试
  14. android 8.1 9.0 10.0 Launcher3禁止拖拽app图标到第一屏
  15. 你知道数据运营日常主要工作吗?
  16. Autograd:你没有使用过的最佳的机器学习库?
  17. 2019年Gartner数据中心备份和恢复解决方案魔力象限解读
  18. HTML table 属性 运用实例
  19. SAP系统中信用控制功能详解
  20. XenDesktop HDX3D交付Seamless Application

热门文章

  1. spark.mllib:bagging方法
  2. 详解分布式协调服务 ZooKeeper
  3. hive性能优化指南
  4. Java的HTTP服务端响应式编程
  5. javaweb学习总结(二十一):JavaWeb的两种开发模式
  6. memc_nginx+srcache_nginx+memcached构建透明的动态页面缓存
  7. REM,你这磨人的小妖精!
  8. 2017夏季达沃斯今日开幕,人工智能元素尤其突出
  9. 在制造业中推进机器人技术的五种方法
  10. .net core 使用redis 基于 StackExchange.Redis