当前位置:首页 » 网页前端 » python脚本按字符串读取文本中的一行
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

python脚本按字符串读取文本中的一行

发布时间: 2023-01-31 06:00:25

1. 在python中,怎么可以通过一个字符串获得其所在行的所有信息呢

简单的这种查找即用“in”指令就可以。
例如你要搜索的是一个文本,那么可以用readlin()逐行读取文本
然后对每一个line进行判断:
if 'think' in line:
print(line)
当然,如果进行更复杂的匹配就要用正则表达式了
如果不会的话可以去网上找找教程,我没法给你说,因为光正则表达式本身的教程就是可以出一本书的……

2. 怎么用python读取txt文件里指定行的内容,并导入excel

一、读excel表
读excel要用到xlrd模块,官网安装(http://pypi.python.org/pypi/xlrd)。然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:
1、导入模块

复制代码代码如下:
import xlrd

2、打开Excel文件读取数据

复制代码代码如下:
data = xlrd.open_workbook('excel.xls')

3、获取一个工作表
① table = data.sheets()[0] #通过索引顺序获取
② table = data.sheet_by_index(0) #通过索引顺序获取
③ table = data.sheet_by_name(u'Sheet1')#通过名称获取
4、获取整行和整列的值(返回数组)

复制代码代码如下:
table.row_values(i)
table.col_values(i)

5、获取行数和列数

复制代码代码如下:
table.nrows
table.ncols

6、获取单元格

复制代码代码如下:
table.cell(0,0).value
table.cell(2,3).value

就我自己使用的时候觉得还是获取cell最有用,这就相当于是给了你一个二维数组,余下你就可以想怎么干就怎么干了。得益于这个十分好用的库代码很是简洁。但是还是有若干坑的存在导致话了一定时间探索。现在列出来供后人参考吧:

1、首先就是我的统计是根据姓名统计各个表中的信息的,但是调试发现不同的表中各个名字貌似不能够匹配,开始怀疑过编码问题,不过后来发现是因为空格。因为在excel中输入的时候很可能会顺手在一些名字后面加上几个空格或是tab键,这样看起来没什么差别,但是程序处理的时候这就是两个完全不同的串了。我的解决方法是给每个获取的字符串都加上strip()处理一下。效果良好
2、还是字符串的匹配,在判断某个单元格中的字符串(中文)是否等于我所给出的的时候发现无法匹配,并且各种unicode也不太奏效,网络过一些解决方案,但是都比较复杂或是没用。最后我采用了一个比较变通的方式:直接从excel中获取我想要的值再进行比较,效果是不错就是通用行不太好,个呢不能问题还没解决。
二、写excel表
写excel表要用到xlwt模块,官网下载(http://pypi.python.org/pypi/xlwt)。大致使用流程如下:
1、导入模块

复制代码代码如下:
import xlwt

2、创建workbook(其实就是excel,后来保存一下就行)

复制代码代码如下:
workbook = xlwt.Workbook(encoding = 'ascii')

3、创建表

复制代码代码如下:
worksheet = workbook.add_sheet('My Worksheet')

4、往单元格内写入内容

复制代码代码如下:
worksheet.write(0, 0, label = 'Row 0, Column 0 Value')

5、保存

复制代码代码如下:
workbook.save('Excel_Workbook.xls')

由于我的需求比较简单,所以这上面没遇到什么问题,唯一的就是建议还是用ascii编码,不然可能会有一些诡异的现象。

当然xlwt功能远远不止这些,他甚至可以设置各种样式之类的。附上一点例子

复制代码代码如下:

Examples Generating Excel Documents Using Python's xlwt

Here are some simple examples using Python's xlwt library to dynamically generate Excel documents.
Please note a useful alternative may be ezodf, which allows you to generate ODS (Open Document Spreadsheet) files for LibreOffi

3. python读取文本内每行指定内容

可以参考下面的代码:

f=file(yourpath)

for line in f:

t = line.split("==")

part_1 = t[0] + "=="

(part_2,part_3) = t[1].split("--")

del t

print "第一段:%s 第二段:%s 第三段:%s" %(part_1,part_2,part_3)

(3)python脚本按字符串读取文本中的一行扩展阅读:

python参考函数

callable(obj) 查看一个obj是不是可以像函数一样调用

repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝

eval_r(str) 表示合法的python表达式,返回这个表达式

hasattr(obj,name) 查看一个obj的name space中是否有name

setattr(obj,name,value) 为一个obj的name space中的一个name指向vale这个object

4. Python程序,要求打开一个文本文件,从固定行开始读取一直读取某一匹配结果的前一行

实现此功能的代码如下:

f = open('xx.txt')

lines = f.readlines()

f.close()

l_list = lines[1:] #从第二行开始

for l in l_list:

if l.find('a') ==-1:

print l #在没有找到a之前一直打印

else:

break #如果找到,则跳出循环

(4)python脚本按字符串读取文本中的一行扩展阅读:

用python读取文本文件,对读出的每一行进行操作的实现方式如下:

f=open("test.txt","r")

whileTrue:

line=f.readline()

ifline:

pass

line=line.strip()

p=line.rfind('.')

filename=line[0:p]

print"create%s"%line

else:

break

f.close()

5. 用python读取文本文件,对读出的每一行进行操作,这个怎么写

用python读取文本文件,对读出的每一行进行操作,写法如下:

f=open("test.txt","r")

whileTrue:

line=f.readline()

ifline:

pass#dosomethinghere

line=line.strip()

p=line.rfind('.')

filename=line[0:p]

print"create%s"%line

else:

break

f.close()

6. python怎么从键盘以字符串形式读取一行数值,以空格分割字符串成列表,转换列表

可以一次全读过,用split()函数生成list,再转成整就行了。
如下,自己执行看看结果,a.txt里是用空格分开的数据.
>>> f=open("c:\\a.txt")
>>> s=f.read()
>>> print(s)
>>> print(s.split())