Python读取png与txt并删除多余txt文档(进一步优化)


# coding: utf-8

# In[1]:


import os
import pandas as pd
import shutil
import numpy as np


# In[2]:


root_path = 'F:\\template\\handobj-mark\\data\\img'


# In[3]:


os.chdir(root_path)


# In[4]:


files = os.listdir(root_path)


# In[5]:


data = pd.DataFrame(np.zeros(5000),columns = ['pngname'])
data1 = pd.DataFrame(np.zeros(5000),columns = ['txtname'])
i = 0
j = 0


# In[6]:


for filename in files:
    (name1,extension1) = os.path.splitext(filename)
    if extension1 == '.png':
        data['pngname'][i] = name1
        i = i+1
    else:
        data1['txtname'][j] = name1
        j = j+1


# In[7]:


datapng = data[data.pngname > 0]


# In[8]:


datatxt = data1[data1.txtname > 0]


# In[9]:


if datapng.shape[0] <= datatxt.shape[0]:
    data2 = pd.merge(left=datatxt, right=datapng, how='left', left_on='txtname', right_on='pngname')
    print('OK!')
else:
    data2 = pd.merge(left=datapng, right=datatxt, how='left', left_on='pngname', right_on='txtname')
    print('Error!')


# In[27]:


data2["bz"] = data2["txtname"] - data2["pngname"]


# In[28]:


rmdata = pd.DataFrame(data2[data2.bz != 0]["txtname"].astype(np.int64).astype(np.str))
rmdata["txtname"] = rmdata["txtname"] + '.txt'


# In[29]:


for i in rmdata.index:
    rmfile = os.path.join(root_path,rmdata["txtname"][i])
    os.remove(rmfile)


# In[30]:


root1 = 'F:\\02_Porject_GR_Data\\01_Original_Data\\QD_Data_0726\\Right_hand\\shixisheng\\irMap\\irGrayMap'


# In[31]:


num1 = len(os.listdir(root1))


# In[32]:


originaldata = pd.DataFrame(np.ones(num1),columns = ['original'])


# In[33]:


for i in range(1,num1):
    originaldata["original"][i] = originaldata["original"][i] + originaldata["original"][i-1]


# In[34]:


result = pd.merge(left=originaldata, right=datapng, how='left', left_on='original', right_on='pngname')


# In[35]:


result["bz"] = result["original"] - result["pngname"]
resultdata = result[result.bz != 0]


# In[36]:


result1 = resultdata["original"].astype(np.int64).astype(np.str)


# In[37]:


result1 = pd.DataFrame(result1)


# In[38]:


result1["original"] = result1["original"] + '.png'


# In[39]:


result1.to_excel("F:\\删除的图片xishisheng.xlsx",index = False)

猜你喜欢

转载自blog.csdn.net/Blackrosetian/article/details/81299479
今日推荐