python随机读取文本文件某一行(python逐行读取文件内容)
如何用python读取文本中指定行的内容
实现的方法和详细的操作步骤如下:
1、第一步,打开在计算机上编写python的软件,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,创建一个新的py文件,见下图,然后进入下一步。
3、接着,完成上述步骤后,导入xlrd包,并且读取表的函数就在其内部,见下图,然后进入下一步。
4、然后,完成上述步骤后,打开要阅读的文档,见下图,然后进入下一步。
5、随后,完成上述步骤后,指定要在文档中读取内容的位置,如下图所示,然后进入下一步。
6、接着,完成上述步骤后,根据索引获取内容,如下图所示,然后进入下一步。
7、最后,完成上述步骤后,就读取到了文本中指定行的内容,如下图所示。这样,问题就解决了。
怎么用python读取txt文件里指定行的内容,并导入excel?
全文使用的是xlswriter模块写的,也有人使用?xlrd与?xlutils模块实现,不过还未进行验证
import xlsxwriter
workbook = xlsxwriter.Workbook("D:\\Program Files\\subpy\\sql2.xlsx")#在指定目录下创建一个excle
worksheet = workbook.add_worksheet("students")#新建一个sheet
title_index = ["A","B","C","D"]#sheet中的区域
li = [] #定义一个空列表
blod = workbook.add_format({"bold":True})#定义exlce中写入的字体with open("D:\\Program Files\\subpy\\tets.txt",'r') as f1:#打开txt文档
lines = f1.readlines()#读取所有行内容
n = -1#定义一个变量
for x in lines:#逐行读取
n=n+1
li.append(x[:-1])#去掉回车符
y= x.split#以空格分字符
for i in range(len(title_index)):#读取excle区域下标
# for i,j in enumerate(title_index):
content = y[i]#单个字符读取
worksheet.write(n,i,content,blod)#分行分列写入workbook.
close#关闭excle
txt文件可以用行号,用readlines读取出来的数据是一个列表,你可以使用:
f = open('', 'r')
line = f.readlines()
line_need = line[行号-1]
这样来取指定行
python如何随机读取一行
#!/usr/bin/env?python
#?coding:?utf-8
def?getfilelines(filename,?eol='\n',?buffsize=4096):
????"""计算给定文件有多少行"""
????with?open(filename,?'rb')?as?handle:
????????linenum?=?0
????????buffer?=?handle.read(buffsize)
????????while?buffer:
????????????linenum?+=?buffer.count(eol)
????????????buffer?=?handle.read(buffsize)
????????return?linenum
def?readtline(filename,?lineno,?eol="\n",?buffsize=4096):
????"""读取文件的指定行"""
????with?open(filename,?'rb')?as?handle:
????????readedlines?=?0
????????buffer?=?handle.read(buffsize)
????????while?buffer:
????????????thisblock?=?buffer.count(eol)
????????????if?readedlines??lineno??readedlines?+?thisblock:
????????????????#?inthisblock:?findthe?line?content,?and?return?it
????????????????return?buffer.split(eol)[lineno?-?readedlines?-?1]
????????????elif?lineno?==?readedlines?+?thisblock:
????????????????#?need?continue?read?line?rest?part
????????????????part0?=?buffer.split(eol)[-1]
????????????????buffer?=?handle.read(buffsize)
????????????????part1?=?buffer.split(eol)[0]
????????????????return?part0?+?part1
????????????readedlines?+=?thisblock
????????????buffer?=?handle.read(buffsize)
????????else:
????????????raise?IndexError
def?getrandomline(filename):
????"""读取文件的任意一行"""
????import?random
????return?readtline(
????????filename,
????????random.randint(0,?getfilelines(filename)),
????????)
if?__name__?==?"__main__":
????import?sys
????import?os
????if?len(sys.argv)?==?1:
????????print?getrandomline("/home/tim/documents/users.csv")
????else:
????????for?f?in?filter(os.path.isfile,?sys.argv[1:]):
????????????print?getrandomline(f)
对于超大文件建议用逐行或分块的方式处理;逐行处理可能慢一些,但编码更简单清晰一点;上面给出的是按分块方式处理的。
用python读取文本文件,对读出的每一行进行操作,这个怎么写?
用python读取文本文件,对读出的每一行进行操作,写法如下:
f?=?open("test.txt",?"r")
while?True:
line?=?f.readline()
if?line:
pass????#?do?something?here
line=line.strip()
p=line.rfind('.')
filename=line[0:p]
print?"create?%s"%line
else:
break
f.close()
扩展资料:
Python将txt文件读取到一个字符串里的操作方法如下:
1、首先,添加Python文件和文本文件以在vscode中读取,如下图所示。
2、其次,完成上述步骤后,在txt文件中写入一些内容以用于内容读取,只需将其写入即可,如下图所示。
3、接着,完成上述步骤后,必须导入os文件,以便可以在os中调用某些文件操作方法,如下图所示。
4、然后,完成上述步骤后,打开要读取的文件,并将读取的内容数据复制到字符串中,如下图所示。
5、随后,完成上述步骤后,打印字符串以显示内容,以方便参考,如下图所示。
6、接着,完成上述步骤后,运行jy.py文件,该文件将开始读取和打印内容,如下图所示。
7、最后,完成上述步骤后,可以看到已读取txt文件的内容,如下图所示。
