import pandas as pd
import os
import xlrd
os.chdir('D:\python')
file_name='D:\python\\test.xlsx'
sheet='test01'
df=pd.DataFrame(pd.read_excel(file_name,sheet))
df.drop(list(df.filter(regex = 'Abc')), axis = 1, inplace = True)
df.drop(list(df.filter(regex = 'def')), axis = 1, inplace = True)
df.drop(list(df.filter(regex = 'ghi')), axis = 1, inplace = True)
df.drop(list(df.filter(regex = 'jkl')), axis = 1, inplace = True)
df.drop(list(df.filter(regex = 'mno')), axis = 1, inplace = True)
df.drop(list(df.filter(regex = 'pqr')), axis = 1, inplace = True)
我希望所有变量(a到r)都在一个列表中,以便所有以上条件都在一个句子中传递。为此,我想使用循环。对此有任何建议。
答案 0 :(得分:0)
尝试这样:
df=pd.DataFrame(pd.read_excel(file_name,sheet))
l = list(map(chr, range(97, ord('s'))))
li = [''.join(l[x:x+3]) for x in range(0, len(l), 3)]
for i in li:
df.drop(list(df.filter(regex = i)), axis = 1, inplace = True)
答案 1 :(得分:0)
一些有用的函数: ord(char)返回字符的ASCII值; chr(int)返回int的字符值-因此我们可以按以下方式构造一个列表
drop_list = [chr(x) for x in range(ord('a'), ord('r') + 1)]
print(drop_list)
输出:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r']