Python读取文件(txt,csv,xls)

分析数据的时候,使用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函数

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()



效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hanmingjunv5/article/details/106769238