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

1.python读写csv文件

import csv

#python2可以用file替代open

with 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 xlrd

data = 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() # 关闭文件

# 写入txt

f = 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文件-Python读写文件(csv、txt、excel)相关推荐

  1. Python天天美味(17) - open读写文件

    Python中文件操作可以通过open函数,这的确很像C语言中的fopen.通过open函数获取一个file object,然后调用read(),write()等方法对文件进行读写操作. 1.open ...

  2. python导入同级目录 上级目录文件

    pycharm不会将当前文件目录自动加入自己的sourse_path.右键make_directory as-->Sources Root将当前工作的文件夹加入source_path就可以了. ...

  3. python以读写方式打开文件_python读写文件操作详细介绍【传智播客】

    Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...

  4. python怎么读write_Python如何读写文件?python写入文件读写操作详解

    Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...

  5. python 使用 with open() as 读写文件-给Python学习者的文件读写指南(含基础与进阶)...

    对于初学者来说,一份详尽又清晰明白的指南很重要.今天,猫猫跟大家一起,好好学习Python文件读写的内容,这部分内容特别常用,掌握后对工作和实战都大有益处.学习是循序渐进的过程,欲速则不达.文章较长, ...

  6. python以读写方式打开文件_Python读写文件

    Python读写文件 1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open( ...

  7. python学习记录part10:读写文件

    python学习part10:第十章 文件和异常 教材:<python:从入门到实践> 今天有别的学习任务,相应的 自由学习时间也就少了,所以今天学习内容不多,估计以后也不能保持很快的进度 ...

  8. python open写入_【Python】使用with open读写文件时,文件不存在没有自动创建

    with open(output_filename, "wb") as f: f.write(html_request.content) 我用这个方法读写文件时,却报错:IOErr ...

  9. Python使用with open() as读写文件【必知必会】

    前言:在前面的博文里,我介绍了Python中的文件操作,详情见:深入浅出Python--Python高级语法之文件操作,本文将主要讲解with open() as读写文件的优点与作用. 文章目录 一. ...

  10. Python基础:打开和读写文件

    打开文件 python打开文件有两种写法: 一种是直接open: f = open('/Users/alice/output.txt', 'r') 另一种是使用with open: with open ...

最新文章

  1. ModuleNotFoundError: No module named ‘cx_Oracle‘
  2. 天猫总裁靖捷回答了今年双11的热点问题
  3. ITK:为图像中标记区域的边界上色
  4. 跨域上传图片的尝试过程,最终成功了--- 转载
  5. 蓝桥杯——寻找数组中的最大值
  6. 如何手动实现C语言中的字符串操作
  7. 俞敏洪:新东方业务调整 为农村孩子捐献近八万套课桌椅
  8. 机器面试-处理分类问题
  9. 行测题相关,在线测评(图形找规律。逻辑思维)
  10. android摇一摇切换配置,逍遥模拟器也可以摇一摇了 附设置教程
  11. Pikachu靶场暴力破解关卡3
  12. 周末参加“北京干部管理职业技术学院”关于高职课程改革的专家讨论会
  13. hive 大数据 除重问题研究
  14. 菜鸟教程 MarkDown语法
  15. U盘插入Mac电脑无反应什么原因?用NTFS for Mac解决简直人生开了挂!
  16. Category 的理解
  17. 大数据技术之大数据基础阶段考试题(二)
  18. 【第一性原理】Centos7下编译并行lammps-7Aug19
  19. 【课程设计】Java 计算器实现(源码 + 详解)
  20. 发自虎扑体育android客户端,阿德问题(转自虎扑)

热门文章

  1. Delphi中Indy 10的安装和老版本的卸载
  2. Spring 教程06
  3. android130 android启动
  4. Marshal.ReleaseComObject
  5. 优秀的博客与文章总结链接地址
  6. 跳石头 NOIP2015 提高组 Day2 T1
  7. 定时器php windows任务计划
  8. Java多线程中join方法详解
  9. 读写锁ReadWriteLock和缓存实例
  10. Java存储过程调用CallableStatement