pythonでEXCELファイルを操作
http://www.lisz-works.com/entry/openpyxl-basic を参考に
- インストール
pip install openpyxl
- 新しいファイルを開いてセルA1にhelloと書いて閉じる
import openpyxl as px #openFile wb=px.Workbook() #Making sheet ws=wb.create_sheet(title="sheet2") #Select the sheet1 ws=wb["sheet2"] ##Imput "hello" in the cell A1 ws["A1"]="hello" ##Save work book wb.save("test1.xlsx")
- ファイルを開いてセルA1の内容を読み出して表示
import openpyxl as px #open already exists File wb=px.load_workbook("test1.xlsx") #Select the sheet1 ws=wb["sheet2"] ##get "hello" in the cell A1 print ws["A1"].value
- 参考:アルファベットの連続生成
v=[chr(i) for i in range(65,65+26)] # [chr(i) for i in range(ord('A'), ord('Z')+1)]
- 3行目のとりだし,3行目から5行目、A列目、AからD列目, A1からD4
ws[3] ws[3:5] ws['A'] ws['A:D'] ws['A1':'D4']
https://openpyxl.readthedocs.io/en/stable/tutorial.html
- EXECL表のCSV化
#-*- coding: utf-8 -*- import openpyxl as px #open already exists File wb=px.load_workbook("input.xlsx",data_only=True) #Select the sheet1 #ws=wb["sheet2"] ws=wb.active ws["A3"]="ID" ws["B3"]="ID_code" ##get "hello" in the cell A1 header_row=3 #v=ws[3] #v=ws['A1':'B3'] #print v.value #print ws["D3"] ##Save work book #wb.save("test1.xlsx") f=open("output.tsv","w") for row in ws.iter_rows(min_row=3, min_col=1,max_col=64, max_row=52487): a=[] for cell in row: a.append(unicode(cell.value).strip().replace(u'\n',u'')) #print cell str1=(u"\t").join(a) print str1 f.write((str1+u"\n").encode('utf-8')) f.close()