python图片横向合并_python合并图片

#!/usr/bin/env python#coding=utf-8

importImageimportosimportsysimportglobimporttimeimportshutildefmerge_thumb(files, output_file):

imgs=[]

width=0

height=0

index=0#计算总宽度和长度

for file infiles:print ("file name : %s" %(str(file)))

img=Image.open(file)

imgs.append(img)if img.size[0] >width:

width=img.size[0]

height= img.size[1]#新建一个白色底的图片

merge_img = Image.new('RGB', (width, height), 0xffffff)for img inimgs:#把图片粘贴上去

merge_img.paste(img, (0, 0), img)

merge_img.save(output_file, quality=70)defgetPngName(filename):

begin= filename.index('thumbs/') + 7end= len(filename)- 4result=filename[begin:end]returnint(result)defcoverFiles(sourceFile, targetDir):

filename= os.path.split(sourceFile)[-1]

targetFile=os.path.join(targetDir,filename)ifos.path.isfile(sourceFile):

open(targetFile,"wb").write(open(sourceFile, "rb").read())if __name__ == '__main__':

ROOT_PATH= os.path.abspath(os.path.dirname(__file__))#IMG_PATH = os.path.join(ROOT_PATH, 'img')

THUMB_PATH = os.path.join(ROOT_PATH, 'thumbs')print ("thumb_path:%s" %str(THUMB_PATH))if notos.path.exists(THUMB_PATH):

os.makedirs(THUMB_PATH)

files= glob.glob(os.path.join(ROOT_PATH,'*.png'))for srcFile infiles:

targetFile= "thumbs/"+os.path.split(srcFile)[-1]

shutil.copy(srcFile,targetFile)

RESULT_PATH= os.path.join(THUMB_PATH, 'result')if notos.path.exists(RESULT_PATH):

os.makedirs(RESULT_PATH)

files= glob.glob(os.path.join(THUMB_PATH, '*.png'))

files_len=len(files)for i inrange(0,files_len):#合并图片

files = glob.glob(os.path.join(THUMB_PATH, '*.png'))

files_new=[]

index=0#print(files)

for file infiles:

files_new_len=len(files_new)

insert_index=0for j inrange(0,files_new_len):if (getPngName(files_new[j])>getPngName(files[index])):

insert_index= j+1;

files_new.insert(insert_index,file)

index+= 1

#get put out file name

index = len(files) -len(files_new)

index= len(files_new) - index - 1begin= files_new[index].index('thumbs/') + 7end=len(files_new[index])

output= 'result/'+files_new[index][begin:end]print ('output=%s index = %s' %(output,index))

merge_output=os.path.join(THUMB_PATH, output)

begin_time=time.clock()

merge_thumb(files_new, merge_output)

end_time=time.clock()print ('merge_thumb time:%s**********output:%s*******remove:%s' % (str(end_time -begin_time),output,files_new[index]))

os.remove(files_new[index])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python横向合并DataFrame,可以使用pandas库的concat方法。具体操作步骤如下: 1. 首先导入必要的库: ```python import pandas as pd ``` 2. 读取要合并的DataFrame数据: ```python df1 = pd.read_excel('文件路径1.xlsx', sheet_name='工作表1') df2 = pd.read_excel('文件路径2.xlsx', sheet_name='工作表2') ``` 3. 使用concat方法进行横向合并: ```python df_combined = pd.concat([df1, df2], axis=1) ``` 其中,参数axis=1表示横向合并。 4. 打印合并后的结果: ```python print(df_combined) ``` 以上是使用concat方法进行DataFrame横向合并的步骤和代码示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Pandas统计分析基础(5):DataFrame的合并(内含大量代码可供练习)](https://blog.csdn.net/l1796333514/article/details/123651411)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python——把几个DataFrame合并成一个DataFrame](https://blog.csdn.net/J__aries/article/details/128924927)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值