[英]How to populate missing row with previous or next row in pandas python
[英]How to Print Previous Row And Next Row In python List
我想打印下一行和上一行,这是我的代码
import csv
file= "myfile.txt"
searchname=input("Enter the name to be searched:")
f=open(file,'r')
reader=csv.reader(f)
lst=[]
for row in reader:
lst.append(row)
q=0
for row in lst:
if searchname in row:
print(row)
q+=1
f.close()
我的文件.txt:
python,programming
java,programming
html,webdesigning
php,programming
我可以在 python 中搜索“html”: Output 是 ['html','webdesigning']
但我想打印
['java','编程']
['html','网页设计']
['php','编程']
有可能的?? 有人有答案吗?? 请帮忙!
你可以这样做:
for index,row in enumerate(list):
if searchname in row:
print(row)
if index - 1 >= 0:
print(list[index-1])
if index + 1 < len(list):
print(list[index+1])
csv.reader
提供了一个生成器,所以你不能像列表一样使用它。 实现您想要的一个简单方法应该是将阅读器 object 转换为列表。 然后您可以对其进行迭代,当找到模式时,显示当前索引为 -1、0 和 +1 的对象。
try except 语句处理您找到的 object 是第一个或最后一个的情况。
import csv
file = "myfile.txt"
searchname = input("Enter the name to be searched:")
with open(file, 'r') as f:
reader = list(csv.reader(f))
for index, row in enumerate(reader):
if searchname in row:
for i in range(-1, 2):
try:
print(reader[index+i])
except IndexError:
pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.