我有一个叫host.txt
的名字,它进一步通过熊猫解析,并用当前时间戳再次保存。
下面的代码除了时间戳外可以正常工作
import pandas as pd
#--------------------
pd.set_option('display.height', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('expand_frame_repr', True)
#-----------------------------------------
MATCH_PATT = "AIX|CentOS|Fedora|RHEL|SunOS|SuSE|Ubuntu|(?<!\?)\?(?!\?)"
COLUMN_NAMES = ['Hostname', 'IP Address', 'Aux Site', 'OS Version']
df1 = pd.read_csv('/home/karn/plura/Test/Python_Panda/CyberArk/host.txt', delimiter = "\t", usecols=COLUMN_NAMES, encoding='cp1252', dtype='unicode')
df2 = df1[df1['OS Version'].str.contains(MATCH_PATT, na=False)][['Hostname', 'IP Address', 'Aux Site', 'OS Version']]
df2['Hostname'] = df2['Hostname'].str.replace("*", "")
df2['Aux Site'] = df2['Aux Site'].str.replace("*", "")
df2 = df2.iloc[:,0]
df2.to_csv('New_Surevy.txt.{}'.format(pd.datetime.today().strftime('%y%m%d')))
请告知如何获得它,任何线索将不胜感激。
如何一次性替换*
和df2['Hostname']
中的df2['Aux Site']
符号。
答案 0 :(得分:1)
您可以使用regex = True这样的替换方法
df[['Hostname', 'Aux Site']] = df[['Hostname', 'Aux Site']].replace({'\*': ''}, regex=True)
请注意,这是“替换”方法,而不是“ str.replace”方法。