最近遇到一个问题:406比对后给出来一个out7文件,其中有含#的空行,需要删除。excel 可以解决,但是是个重复操作的过程,所以以下方法来捷键这个问题:
1、原始数据格式为:
image.png
处理后的数据为:
image.png
重点:这个过程中解决了之前常有的一个问题,也就是每次改路径里的反斜杠,代码如下:
path = r'C:\Users\Mr.R\Desktop\list\jinghaotihuan.xls' #直接把路径复制黏贴过来化成正斜杠
path = path.replace('\\', '/')
print(path)
read_data = pd.read_excel(path) # 读取excel表格数据
2、具体去除特定行的实现过程:
import xlwt # 写入文件
import xlrd # 打开excel文件
import numpy as np
import pandas as pd
path = r'C:\Users\Mr.R\Desktop\list\name1.xls' #直接把路径复制黏贴过来化成正斜杠
path = path.replace('\\', '/')
print(path)
read_data = pd.read_excel(path) # 读取excel表格数据
print(read_data)
read_data = read_data[~ read_data['# BLASTN 2.9.0+'].str.contains('#')] ## 要输入查找的列的名称!!;包含特殊字符的行
# read_data = read_data[~read_data['type'].isin(['未知'])] #删除某列包含特殊字符的行
print(read_data)
outfilename ='C:/Users/Mr.R/Desktop/list/name2.xls' ##创建一个新的txt文件或者可选直接在原始文件写入
outfile = open(outfilename, 'a') #a没有文件可以创建
read_data.to_excel('C:/Users/Mr.R/Desktop/list/name2.xls', index=False) # 将数据重新写入excel