Python读取文件(txt,csv,xls)
程序员文章站
2022-05-17 09:28:34
...
分析数据的时候,使用Python十分方便,这里总结一下具体实现方式,以免总是上网查询
open函数
想用python读取文件(如txt、csv等),第一步要用open函数打开文件。
open()是python的内置函数,它会返回一个文件对象,这个文件对象拥有read、readline、readlines、write、close等方法。
open函数原型:
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
file: 需要打开的文件名称(同时注意文件位置)
mode:打开文件后的操作权限,类似于c的文件操作:
'r' 只读 (默认模式)
'w' 只写,覆盖原内容
'x' 打开新文件,只写
'a' 只写打开文件,如果文件存在则在末尾追加新内容
'b' 二进制模式
't' text mode (default)
'+' 打开磁盘文件并更新 (读写)
close函数
read方法有一个参数:
f = open(file) # 打开文件
f.close() # 关闭文件
readlines函数
readlines方法是读取所有行,返回的是所有行组成的列表,且每一行数据是一个字符串储存在列表中.
f = open(file) # 打开文件
data = f.readlines()
f.close() # 关闭文件
读取到的字符串,如果需要分割数据时,使用字符串分割函数:
str.split()
write函数
将字符串写入到文件里。
f.write([str]) # f为文件对象
writelines函数
与write不同的是,writelines可以传入字符序列,即可以传入字符列表,而write只能传入字符串.
fp = open("readlines.txt","w+")
l = ["1023","1024","1025"]
fp.writelines(l)
#fp.write(l) 报错
fp.close()
例程
读取xls文件,然后将数据按照(x,y)坐标对画在画布上
import matplotlib.pyplot as plt
with open('JntPos1.xls') as f1:
contents1 = f1.readlines()
n1 = len(contents1)
x1 = []
y1 = []
for i in range(n1):
data = contents1[i].split('\t')
x1.append(float(data[0]))
y1.append(float(data[1]))
plt.plot(x1, y1, 'r')
plt.grid(True)
plt.axis("equal")
plt.show()
f1.close()
f50.close()
f100.close()
效果:
下一篇: POI---读取.xls和.xlsx文件