文章目录
一、简单的文件操作
1.常用的文件读取标志符
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式r+打开一个文件用于读写。文件指针将会放在文件的开头。w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
- 一、简单的文件操作
- 1.常用的文件读取标志符
- 2.txt文件的读操作
- 3.txt文件的写操作
- 4.read、readline、readlines的区别
- 二、对csv文件的读写操作
- 1.读取操作
- 2.读取时候跳过某一行
- 3.写入csv
- 三、利用python对excel进行追加数据
- 1.读取excel的某个sheet的某一行的某一列
- 2.追加数据到新文件
-
file=open(r'a.txt' , 'r')
-
file叫做文件的句柄
-
第一个参数是文件的路径
-
文件路径前边的r叫元字符,避免路径中有转义字符,而引起其他不必要的事情
-
后边的r表示读,常见的读取见图12-1
2.1 read读取
a=open('E:\\text.txt','r')
print(a.read(4))#读完会接着读
print(a.read(4))
print(a.read())#默认会读完索引代码
a.close()
2.2 readline读取
a=open('E:\\text.txt','r')
print(a.readline())
#每行最后的换行是\n,会被解析出来,再加上print本身是换行,所以会下边空一行
print(a.readline())
a.close()
2.3 readlines读取
a=open('E:\\text.txt','r')
b=a.readlines()#会一行一行进行读写
print(b)
a.close()
for i in b:
print(i)
a=open('E:\\text.txt','w')
ls=['1','2\n','3']
a.writelines(ls)
a.close()
注意:每次写都是从头开始写会覆盖原先的内容,因此可以使用a+进行追加
a=open('E:\\text.txt','w')
b='我是蔡徐坤'
a.write(b)
a.close()
文件内容
读取文件
import csv
file_path = 'result.csv'
# 读取csv文件
with open(file_path, 'r') as f:
reader = csv.reader(f, delimiter=',') # 默认的情况下, 读和写使用逗号做分隔符(delimiter)
for row in reader:
print(row)
结果
Python csv 跳过第一行 去除表头 读取文件内容
import csv
from itertools import islice
with open('2.csv', 'r') as read_file:
reader = csv.reader(read_file)
for row in islice(reader, 1, None):
print(row)
3.写入csv
import csv
with open('some.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(['1', '1', '1', '1'])
writer.writerow(['2', '2', '2', '2' ])
问题: 发现每写完一行会加入一个空行
解决办法:
Python3因此需要加入在open( )中增加一个参数newline=’’
import csv
with open('some.csv', 'w',newline='') as f:
writer = csv.writer(f)
writer.writerow(['1', '1', '1', '1'])
writer.writerow(['2', '2', '2', '2' ])
Python2把w或者a改成字节存储
import csv
with open('some.csv', 'ab+') as f:
writer = csv.writer(f)
writer.writerow(['1', '1', '1', '1'])
writer.writerow(['2', '2', '2', '2' ])
三、利用python对excel进行追加数据
原文件
import xlrd
file = 'demo.xlsx'
sheet_name='Sheet1'
work = xlrd.open_workbook(file)
work_sheet = work.sheet_by_name(sheet_name)
print(work_sheet.cell_value(2, 0)) # 读取第3行的第1列
# coding: utf-8
import xlrd
from xlutils.copy import copy
file = 'demo.xlsx'
sheet_name = 'Sheet1'
work = xlrd.open_workbook(file)
work_sheet = work.sheet_by_name(sheet_name)
# 对数据表格进行复制
new_file = copy(work)
ws = new_file.get_sheet(0)
# 往新表格写数据
ws.write(4, 0, '4')
ws.write(4, 1, 'Danny')
# 保存
new_file_name = 'new_demo.xlsx'
new_file.save(new_file_name)