精华内容
下载资源
问答
  • python读取文本某一行内容
    万次阅读
    2020-03-19 14:56:52

    时常遇到需要读取文本的指定某一行或者某几行的内容。总结方法有两种。

    方法一:从头扫描,跳过不关心的行

    import linecache
    linecache.getline('./data.txt', 5)

    读取文件的第5行,实际该文件会整个缓存起来,可以使用linecache.cache这个dict成员查看所有缓存的内容。所以大文件读取不适合这种方法。

    方法二:使用linecache

    with open('./data.txt', 'r') as f:
        for num, line in enumerate(f):
            if num == 4:
                print(line)
                break

    上面的例子也是读取第5行,很明显是从第一行开始扫描,对于读取大文件不是什么问题,不过如果所需要读取的行位于大文件的末尾效率就会很低下了。

    总之,没有特别通用且高效的方法。使用mmap进行内存映射,也得从头数"\n"数到末尾。

    更多相关内容
  • 首先读取txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5 AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85 AAAAF110 0003E7F0 0003E208 0003...
  • 今天小编就为大家分享一篇python文件读取一行一行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 如何用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文件特定行的数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    展开全文
  • 主要介绍了python读取csv文件指定的方法详解,需要的朋友可以参考下
  • 然而,该文件是几GB,我非常希望在小块的读取它.我想使用numpy的loadtxt函数,因为这会将所有内容快速转换为numpy数组.但是,到目前为止,我还无法管理该函数似乎只提供了像这里的列选择: data = np.loadtxt("test....

    -1411.85 2.6888 -2.09945 -0.495947 0.835799 0.215353 0.695579

    -1411.72 2.82683 -0.135555 0.928033 -0.196493 -0.183131 -0.865999

    -1412.53 0.379297 -1.00048 -0.654541 -0.0906588 0.401206 0.44239

    -1409.59 -0.0794765 -2.68794 -0.84847 0.931357 -0.31156 0.552622

    -1401.63 -0.0235102 -1.05206 0.065747 -0.106863 -0.177157 -0.549252

    ....

    ....

    然而,该文件是几GB,我非常希望在小块的行中读取它.我想使用numpy的loadtxt函数,因为这会将所有内容快速转换为numpy数组.但是,到目前为止,我还无法管理该函数似乎只提供了像这里的列选择:

    data = np.loadtxt("test.dat", delimiter=' ', skiprows=1, usecols=range(1,7))

    任何想法如何实现这一目标?如果使用loadtxt不可能在Python中提供任何其他选项?

    解决方法:

    如果你可以使用pandas,那会更容易:

    In [2]: import pandas as pd

    In [3]: df = pd.read_table('test.dat', delimiter=' ', skiprows=1, usecols=range(1,7), nrows=3, header=None)

    In [4]: df.values

    Out[4]:

    array([[ 2.82683 , -0.135555 , 0.928033 , -0.196493 , -0.183131 ,

    -0.865999 ],

    [ 0.379297 , -1.00048 , -0.654541 , -0.0906588, 0.401206 ,

    0.44239 ],

    [-0.0794765, -2.68794 , -0.84847 , 0.931357 , -0.31156 ,

    0.552622 ]])

    编辑

    如果你想读每行k行,你可以指定chunksize.例如,

    reader = pd.read_table('test.dat', delimiter=' ', usecols=range(1,7), header=None, chunksize=2)

    for chunk in reader:

    print(chunk.values)

    日期:

    [[ 2.6888 -2.09945 -0.495947 0.835799 0.215353 0.695579]

    [ 2.82683 -0.135555 0.928033 -0.196493 -0.183131 -0.865999]]

    [[ 0.379297 -1.00048 -0.654541 -0.0906588 0.401206 0.44239 ]

    [-0.0794765 -2.68794 -0.84847 0.931357 -0.31156 0.552622 ]]

    [[-0.0235102 -1.05206 0.065747 -0.106863 -0.177157 -0.549252 ]]

    您必须按照自己的意愿处理如何将它们存储在for循环中.请注意,在这种情况下,reader是TextFileReader,而不是DataFrame,因此您可以懒惰地遍历它.

    您可以阅读this了解更多详情.

    标签:python,numpy

    来源: https://codeday.me/bug/20190623/1272805.html

    展开全文
  • Python 读取txt文件一行数据生成列表Python 读取txt文件一行数据生成列表本意是将数据:改为如下形式:[['push', 'lea', 'push', 'mov', 'call', 'mov', 'mov', 'pop', 'retn', 'mov', 'jmp', 'push', 'mov', '...

    Python 读取txt文件每一行数据生成列表

    Python 读取txt文件每一行数据生成列表

    本意是将数据:

    改为如下形式:

    [['push', 'lea', 'push', 'mov', 'call', 'mov', 'mov', 'pop', 'retn', 'mov', 'jmp', 'push', 'mov', 'mov', 'call', 'test', 'jz', 'push', 'call', 'add', 'mov', 'pop', 'retn', 'mov', 'mov', 'mov', 'mov', 'retn', 'mov', 'lea', 'mov', 'inc', 'test', 'jnz', 'sub', 'retn', 'mov', 'mov', 'mov', 'push', 'mov', 'push', 'push', 'push', 'push', 'call'], ['add', 'mov', 'pop', 'retn', 'mov', 'mov', 'mov', &#

    展开全文
  • python读取文件最后一行两种方式1)常规方法:从前往后依次读取步骤:open打开文件。读取文件,把文件所有行读入内存。遍历所有行,提取指定行的数据。优点:简单,方便缺点:当文件大了以后时间太慢,无法忍受2)...
  • 本文要点刚要:()读文本文件格式的数据函数:...跳行读取文本文件,用skiprows5.数据太大时需要逐块读取文本数据用chunksize进行分块。(二)将数据写成文本文件格式函数:to_csv范例如下:(读取文本文件格...
  • linecache, 可以用它方便地获取文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。 用法很简单: >>> import linecache >>> linecache.getline('/etc/passwd', 4) 'sys:x:3:3:sys:/dev:/...
  • 菜鸟笔记首先读取txt文件如下:AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85AAAAF110 0003E7F0 0003E208 ...
  • python读取txt文件的每一行,并输出

    千次阅读 2021-06-03 16:35:09
    f = open("train.txt") while True: line = f.readline() #包括换符 line = line[:-1] #去掉换符 if line: print (line) img = np.asarray(imageio.imread(os.path.join('F:\\VOCdevkit\
  • # -*- 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/...
  • 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...
  • val.txt文件内容有两列,...line = f.readline() # 以的形式进行读取文件 list1 = [] while line: a = line.split() b = a[0:1] # 这是选取需要读取的列 list1.append(b) # 将其添加在列表之中 line = f.readli
  • Python3实现从txt文件读取指定的方法 本文实例讲述了Python3实现从文件读取指定的方法。分享给大家供大家参考。具体实现方法如下: def getline(the_file_path, line_number): if line_number <...
  • [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...
  • 文件小时,直接将所有行作为list读取 ...输出为:文件一行和最后一行 ''' fname = 'test.txt' with open(fname, 'r') as f: #打开文件 lines = f.readlines() #读取所有行 first_line = lines[0] #取第一行 ...
  • import os import shutil import tqdm initial_file_path = 'G:/A_Data/KITTI_car_coco/label/' # 需要查找文件的路径 ...reference_file_path = 'G:/A_Data/KITTI_car_coco/val/val.txt' # txt文件 file_list = o
  • python-读取txt文件数据的第

    千次阅读 2020-11-20 22:00:46
    原博文2020-02-11 19:50 −利用split进行分割f=open("output.txt","r", encoding = 'utf-8',errors='ignore')for line in f: print(line.split(' ')[0])原文件:效果:...相关推荐2019-09-11 18:11 −1 from xlwt ...
  • 菜鸟笔记首先读取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 ...
  • Python读取csv文件某一行

    千次阅读 2021-03-11 13:29:03
    Python读取csv文件某一行reader函数DictReader 站长用Python写了一个可以提取csv任一列的代码,欢迎使用。Github链接 csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格,就...
  • python 读取文本文件遍历每一行

    千次阅读 2021-12-09 14:40:25
    本文将利用readlines 读取txt为格式的文本文件里的内容, 将每一行提取出来 把每一行的前导/尾随空格符删除 并将每一行存入了列表中。 利用strip split 等python自带的字符串处理函数 准备文件txt 测试代码 fo1 =...
  • python读取txt文件

    千次阅读 2022-02-12 21:29:48
    1、读取.txt整个文件 ww.txt文件在程序文件所在的目录,在文件存储在其他地方,ww.txt需要添加文件路径,如:E:\book1\ww.txt读取后希望返回的是列表类型,将read改为readlines with open('ww.txt',encoding='...
  • 需求:读取大约有200多行的txt文件,获取17-216中每中指定位置中的数值。 实现 #-*- coding: utf-8 -*- """ @Date: 2020/5/21 21:53 @Author: Pangpd @FileName: read_log.py @IDE: PyCharm @Description: 获取...
  • python读取txt文件时去除换

    千次阅读 2021-04-15 10:45:47
    python读取txt文件时去除换符   python的readlines()方法用于读取所有,且返回值是个列表,换符包含在字符串中。 f = open("temp.txt","r") results = f.readlines() print(results[0:8]) ['察觉...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 214,005
精华内容 85,602
关键字:

python读取txt文件某一行