我的任务是创建一个脚本,以每周一次SSH到10个Cisco路由器的列表,并检查配置更改并发送通知。因此,我已准备好记录并运行命令并将其发送到csv的脚本。我已经进行了修改,因此如果没有更改,我在csv中的所有内容将例如: rtr0003#-仅路由器名称。如果将更改conf,则excel将包含在其中,例如:
我的问题是如何运行pandas打开每个文件,以及是否仅一行/行删除excel文件,以及是否有更多行跳过该文件。
这是我写文件的方式:
files = glob.glob('*.csv')
for file in files:
df=pd.read_csv(file)
df=df.dropna()
df.to_csv(file,index=False)
df1=pd.read_csv(file,skiprows = 2)
#df1=df1.drop(df1.tail(1))
df1.to_csv(file,index=False)
答案 0 :(得分:1)
import os
import glob
import csv
files = glob.glob('*.csv')
for file in files:
with open(file,"r") as f:
reader = csv.reader(f,delimiter = ",")
data = list(reader)
row_count = len(data)
if row_count == 1:
os.remove(file)
答案 1 :(得分:1)
这是使用熊猫的解决方案:
import pandas as pd
import glob
import os
csv_files = glob.glob('*.csv')
for file in csv_files:
df_file = pd.read_csv(file, low_memory = False)
if len(df_file) == 1:
os.remove(file)
如果您使用的是excel文件,请更改
glob.glob('*.csv')
到
glob.glob('*.xlsx')
和
pd.read_csv(file, low_memory = False)
到
pd.read_excel(file)