精华内容
下载资源
问答
  • python读取文件最后一行两种方式1)常规方法:从前往后依次读取步骤:open打开文件。读取文件,把文件所有行读入内存。遍历所有行,提取指定行的数据。优点:简单,方便缺点:当文件大了以后时间太慢,无法忍受2)...

    python读取文件最后一行两种方式

    1)常规方法:从前往后依次读取

    步骤:open打开文件。

    读取文件,把文件所有行读入内存。

    遍历所有行,提取指定行的数据。

    优点:简单,方便

    缺点:当文件大了以后时间太慢,无法忍受

    2)推荐方法:

    步骤:open打开日志文件。

    移动文件读取指针到文件末尾。

    从后往前移动指针直到合适的位置。

    读取文件,提取指定行的数据。

    优点:时间相对固定,适合处理大文件

    代码实现

    fname = 'test.html'

    with open(fname, 'r', encoding='utf-8') as f: # 打开文件

    lines = f.readlines() # 读取所有行

    first_line = lines[0] # 取第一行

    last_line = lines[-1] # 取最后一行

    print('文件' + fname + '第一行为:'+ first_line)

    print('文件' + fname + '最后一行为:' + last_line)

    with open(fname, 'rb') as f: # 打开文件

    # 在文本文件中,没有使用b模式选项打开的文件,只允许从文件头开始,只能seek(offset,0)

    first_line = f.readline() # 取第一行

    offset = -50 # 设置偏移量

    while True:

    """

    file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。

    如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。

    """

    f.seek(offset, 2) # seek(offset, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50)

    lines = f.readlines() # 读取文件指针范围内所有行

    if len(lines) >= 2: # 判断是否最后至少有两行,这样保证了最后一行是完整的

    last_line = lines[-1] # 取最后一行

    break

    # 如果off为50时得到的readlines只有一行内容,那么不能保证最后一行是完整的

    # 所以off翻倍重新运行,直到readlines不止一行

    offset *= 2

    print('文件' + fname + '第一行为:' + first_line.decode())

    print('文件' + fname + '最后一行为:' + last_line.decode())

    展开全文
  • txt文件小#coding:utf-8 ...输出为:文件一行和最后一行 '''fname = 'test.txt' with open(fname, 'r') as f: #打开文件 lines = f.readlines() #读取所有行 first_line = lines[0] #取第一行 last_line = lines[-

    txt文件小

    #coding:utf-8
    '''
    fname为所读xx.txt文件
    输出为:文件第一行和最后一行
    '''
    
    fname = 'test.txt'
    with open(fname, 'r') as f:  #打开文件
        lines = f.readlines() #读取所有行
        first_line = lines[0] #取第一行
        last_line = lines[-1] #取最后一行     
        print '文件' + fname + '第一行为:' + first_line
        print '文件' + fname + '最后一行为:'+ last_line
    

    当文件很大时,采用这种方法不可行,资源浪费太大,采用下面方案。

    txt文件大

    #coding:utf-8
    '''
    f_name为所读xx.txt文件
    输出为:文件最后一行
    '''
    
    fname = 'test.txt'
    with open(fname, 'r') as f:  #打开文件
        first_line = f.readline()  #读第一行
        off = -50      #设置偏移量
        while True:
            f.seek(off, 2) #seek(off, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50)
            lines = f.readlines() #读取文件指针范围内所有行
            if len(lines)>=2: #判断是否最后至少有两行,这样保证了最后一行是完整的
                last_line = lines[-1] #取最后一行
                break
            #如果off为50时得到的readlines只有一行内容,那么不能保证最后一行是完整的
            #所以off翻倍重新运行,直到readlines不止一行
            off *= 2
    
        print '文件' + fname + '第一行为:' + first_line
        print '文件' + fname + '最后一行为:'+ last_line
    展开全文
  • 如何用python循环读取下面.txt文件中,用红括号标出来的数据呢?首先,观察数据可知,不同行的第个数据元素不一样,所以考虑直接用正则表达式。再加上,对读和写文件的操作,就了注:我用的是pycharm+python2.7...

    如何用python循环读取下面.txt文件中,用红括号标出来的数据呢?

    20190128161705.jpg

    首先,观察数据可知,不同行的第一个数据元素不一样,所以考虑直接用正则表达式。

    再加上,对读和写文件的操作,就行了

    注:我用的是pycharm+python2.7

    话不多说,直接上代码

    import re

    f1=file('shen.txt','r')

    data1=f1.readlines()

    # print data1

    f1.close()

    results = []

    for line in data1:

    data2=line.split()

    # print data2[0]

    m = re.findall(r"[0-9]:", data2[0])

    if m:

    results.append(line)

    # for i in data2[0]:

    # data3=i.split(":")

    # print data3

    # if data3>=0 and data3<=50000:

    # results.append(line)

    # if i=='1':

    # results.append(line)

    f2=file('deal.txt','w')

    f2.writelines(results)

    f2.close()

    前期,我遇到"1:”这样的字符串实在是没办法处理,后来查找资料,发现有正则这么爽的东西!

    在上面的代码中,需要说明的是:

    m = re.findall(r"[0-9]:", data2[0])

    该语句的意思就是,对于字符串而言,寻找到能够匹配1:,2:,9:。。。。。。的字符串

    最后处理的结果是:

    20190128161718.jpg

    由于数据不是很漂亮,还需要将里面的",”和":”这两个符号去掉,因此,我使用了replace语句

    代码如下:

    #coding:utf-8

    #__author__ ='dell'

    import re

    f1=file('shen.txt','r')

    data1=f1.readlines()

    # print data1

    f1.close()

    results = []

    for line in data1:

    data2=line.split()

    # print data2[0]

    m = re.findall(r"[0-9]:", data2[0])

    if m:

    results.append(line)

    # for i in data2[0]:

    # data3=i.split(":")

    # print data3

    # if data3>=0 and data3<=50000:

    # results.append(line)

    # if i=='1':

    # results.append(line)

    f2=file('deal.txt','w')

    f2.writelines(results)

    f2.close()

    # 替换掉所有的逗号,

    f4=open('deal.txt','r')

    data3=f4.read()

    f4=data3.replace(',',' ')

    f5=file('deal.txt','w')

    f5.write(f4)

    f5.close()

    # 替换掉所有的冒号

    f6=open('deal.txt','r')

    data4=f6.read()

    f6=data4.replace(':',' ')

    f7=file('deal.txt','w')

    f7.write(f6)

    f7.close()

    最终,得到的数据就很漂亮了,如下所示:

    20190128161728.jpg

    以上这篇使用python读取.text文件特定行的数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    展开全文
  • [work] python读取txt文件最后一行

    千次阅读 2019-01-11 11:57:46
    txt文件小 ...输出为:文件一行和最后一行 ''' fname = 'test.txt' with open(fname, 'r') as f: #打开文件 lines = f.readlines() #读取所有行 first_line = lines[0] #取第一行 last_line = l...

    txt文件小

    #coding:utf-8
    '''
    fname为所读xx.txt文件
    输出为:文件第一行和最后一行
    '''
    
    fname = 'test.txt'
    with open(fname, 'r') as f:  #打开文件
        lines = f.readlines() #读取所有行
        first_line = lines[0] #取第一行
        last_line = lines[-1] #取最后一行     
        print '文件' + fname + '第一行为:' + first_line
        print '文件' + fname + '最后一行为:'+ last_line
    

    当文件很大时,采用这种方法不可行,资源浪费太大,采用下面方案。

    txt文件大

    #coding:utf-8
    '''
    f_name为所读xx.txt文件
    输出为:文件最后一行
    '''
    
    fname = 'test.txt'
    with open(fname, 'r') as f:  #打开文件
        first_line = f.readline()  #读第一行
        off = -50      #设置偏移量
        while True:
            f.seek(off, 2) #seek(off, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50)
            lines = f.readlines() #读取文件指针范围内所有行
            if len(lines)>=2: #判断是否最后至少有两行,这样保证了最后一行是完整的
                last_line = lines[-1] #取最后一行
                break
            #如果off为50时得到的readlines只有一行内容,那么不能保证最后一行是完整的
            #所以off翻倍重新运行,直到readlines不止一行
            off *= 2
    
        print '文件' + fname + '第一行为:' + first_line
        print '文件' + fname + '最后一行为:'+ last_line
    展开全文
  • I have a file called test which has the contents:abcdefgI am using the following python code to read this file line by line and print it out:with open('test.txt') as x:for line in x:print(x.read())The...
  • curLine))#这里使用的是map函数直接把数据转化成为float类型 dataMat.append(curLine[:]) print('dataMat:',dataMat) 参考链接:https://blog.csdn.net/qq_43243022/article/details/83004413 Python文件操作中的a,...
  • # -*- coding: utf-8 -*-file =open('/Users/april_chou/Desktop/WorkSpace/Selenium/seleniumTest/test.txt','r')context = file.read()print('read格式:')print(context)file.close()print()file =open('/Users/...
  • 菜鸟笔记首先读取txt文件如下:AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85AAAAF110 0003E7F0 0003E208 ...
  • 菜鸟笔记首先读取txt文件如下:AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85AAAAF110 0003E7F0 0003E208 ...
  • val.txt文件内容有两列,...line = f.readline() # 以的形式进行读取文件 list1 = [] while line: a = line.split() b = a[0:1] # 这是选取需要读取的列 list1.append(b) # 将其添加在列表之中 line = f.readli
  • 菜鸟笔记首先读取txt文件如下:AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85AAAAF110 0003E7F0 0003E208 ...
  • python读取txt文件并取其某一列数据

    万次阅读 多人点赞 2018-10-10 15:48:59
    首先读取txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5 AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85 AAAAF110 0003E7F0 0003E208 ...
  • 菜鸟笔记首先读取txt文件如下:AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85AAAAF110 0003E7F0 0003E208 ...
  • (ok)python3读取txt文件并取其某一列数据首先读取txt文件如下:AAAAF110 0003E818 0003E1和 0003E770 0003FFFC 90AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5AAAAF110 0003E814 0003E204 0003E760 0003FFFC ...
  • 返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行某一行,或一列。代码如下: 1 import csv 2 with open('data.csv', 'r') as f: 3 reader = csv.reader(f) 4 print(type(reader))
  • 然而,该文件是几GB,我非常希望在小块的读取它.我想使用numpy的loadtxt函数,因为这会将所有内容快速转换为numpy数组.但是,到目前为止,我还无法管理该函数似乎只提供了像这里的列选择: data = np.loadtxt("test....
  • python读取txt文件并画图

    万次阅读 多人点赞 2017-12-17 22:31:41
    1,使用python读取txt文件已知txt文件内容如下: 0 0 1 1 2 4 3 9 4 16 5 25 6 36请以第列为x轴,第二列为y轴画图 步骤如下: 1)使用readlines读取文件 2)建立两个空列表X,Y,将第列的数字放入X,第...
  • python读取txt文件,写入txt文件

    万次阅读 2019-04-08 11:41:59
    一、读取txt文件 方法一: import numpy as np file = open("../data/track_data.txt","r") list = file.readlines()#每一行数据写入到list中 print(list) lists = [] #将txt文件转换成数组形式保存 for fields...
  • python读取txt文件中的数据,并求出每一行中的最大值、最小值、以及每一行的和 关键问题是读到文件内容后,怎么分割,怎么保存 def getdata(filename): linedata = open(filename, 'r') #读取txt文件 cnt = 0 res...
  • #读取文件 ms = open("文件路径和全名") #逐行写入 for line in ms.readlines(): with open("要写入的文件路径和文件名","a") as mon: mon.write(line) 例:读取C盘下面test文件夹下的ba
  • python读取txt文件到字典

    千次阅读 2021-01-11 19:22:13
    python读取txt文件到字典 import os fp = open("test.txt", "r") sample = fp.readlines() result_dict = {} for line in sample: print(line) sample_ = line.split(' ')#按俩空格进行文件中每一行的切割 ...
  • Python-数据读取读取txt文件一行数据生成列表

    万次阅读 多人点赞 2018-10-10 22:23:57
    好多时候我们要读取txt文件获得数据,并把数据的按或者按列存放到列表中,从而生成特征和类别标签。今天读了好几个都没有成功,最后发现,数据间的分隔符十分重要,总结一下经验。 数据间的分隔符是空格 读取的...
  • 文件: 代码: try: file=open('food.txt',"r") #以读模式打开文件 ...except FileNotFoundError: #如果文件不存在,给提示 ... contents=file.readlines() #读取全部 for conten...
  • 读取文件 with open('data.txt') as f: f.read() print(type(f)) 按照读取 f.readlines() 按照空格分隔 data = [] with open('lenses.txt') as f: for line in f.readlines(): temp = line.split() ...
  • python读取txt文件

    万次阅读 2018-01-24 10:44:53
    with open('C:\\Users\\Administrator\\Desktop\\pythonio.txt') as read_file: content=read_file.read() print(content) 相比于原始文件,该输出唯一不同的地方是末尾多了个空行。为何会多出这个空行...
  • Python读取TXT文件时出现“ufeff“字符

    千次阅读 2018-11-23 17:48:42
    Python读取TXT文件时出现“\ufeff“字符 文章目录Python读取TXT文件时出现“\ufeff“字符问题描述:原因:解决方案: 问题描述: 目的: 在command.txt文件中读取文本,然后转换成数字列表。 这是代码内容: cmd = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 172,035
精华内容 68,814
关键字:

python读取txt文件某一行

python 订阅