実施していること
2つのエクセルファイルのセルに記入された数値やコメントをopenpyxl
を使用して
別の1つのファイルにコピー&ペーストしています。
下記コードであれば、セルの数値はコピー&ペーストできます。
import openpyxl import_file_path = 'C:\Users\01_test' export_file_path = 'C:\Users\01_output\2次版_集計済.xlsx' workbook2 = openpyxl.load_workbook(export_file_path) worksheet2 = workbook2['sheet1'] for i in range(1,3): workbook1 = openpyxl.load_workbook(import_file_path+'\'+'2次版_test_0'+str(i)+ '.xlsx') worksheet1 = workbook1['sheet1'] for i in range(8,60): for j in range(42,153): copy = worksheet1_01.cell(row=i,column=j).value if copy == None: continue else: worksheet2.cell(row=i,column=j,value=copy) workbook2.save(export_file_path)
困っていること/実施したこと
困っていること:
セルの値はコピー&ペーストできるが、コメントのコピー&ペーストができない。
実施したこと:
コメントのコピー&ペーストのため、
from openpyxl.comments import Comment ・・・ copy_02 = worksheet1_01.cell(row=i,column=j).comment.text ```を挿入
import openpyxl
from openpyxl.comments import Comment
import_file_path = 'C:\Users\01_test'
export_file_path = 'C:\Users\01_output\2次版_集計済.xlsx'
workbook2 = openpyxl.load_workbook(export_file_path)
worksheet2 = workbook2['sheet1']
for i in range(1,3):
workbook1 = openpyxl.load_workbook(import_file_path+''+'2次版_test_0'+str(i)+ '.xlsx')
worksheet1 = workbook1['sheet1']
for i in range(8,60):
for j in range(42,153):
copy_01 = worksheet1_01.cell(row=i,column=j).value
copy_02 = worksheet1_01.cell(row=i,column=j).comment.text
if copy_01 == None:
continue
elif copy_02 == None:
continue
else:
worksheet2.cell(row=i,column=j,value=copy_01,comment=copy_02)
workbook2.save(export_file_path)
結果は、下記の通りでした。 copy_02 = worksheet1_01.cell(row=i,column=j).comment.text AttributeError: 'NoneType' object has no attribute 'text' ### 実施したいこと コメントもあわせてコピー&ペーストしたいですが、いろいろ調べてみるものの解決策が見つかりません。 勉強不足で誠に申し訳ありませんが、解決策をアドバイス頂ければありがたいです。 ### 環境 Python 3.7 openpyxl 3.0.4 Anaconda custom (64-bit) Excel office365
回答2件
あなたの回答
tips
プレビュー