openpyxl? ? 操作2007版本以上的excel文件,后綴是xlsx 格式盒揉。
xlrd? xlwt 特別是寫入的時候昼蛀,xlwt 應(yīng)該是只能寫入xls格式的 2003版本的excel的文件瑟俭。還是更換新的庫吧。
以前也使用過openpyxl 纵潦,操作起來比較簡單。
首先安裝:
pip install openpyxl
import openpyxl
['DEFUSEDXML', 'LXML', 'NUMPY', 'PANDAS', 'Workbook',
'cell', 'chart', 'chartsheet', 'comments', 'compat', 'constants',
'descriptors', 'drawing', 'formatting', 'formula', 'load_workbook',
'packaging', 'pivot', 'reader', 'styles', 'utils', 'workbook', 'worksheet', 'writer', 'xml']
1.創(chuàng)建一個新的工作簿垃环,使用workbook()? 這個創(chuàng)建后邀层,工作簿里面只有一個工作表,表名是Sheet
wb = openpyxl.workbook()?
print(wb.sheetnames)? 可以打印工作簿里面有多少工作表遂庄,返回的是一個列表
如果是加載現(xiàn)有的工作簿寥院,使用wb = openpyxl.load_workbook('這里最后是寫完整的路徑')
2.sheet = wb.active? active 屬性激活,也就是第一張表涛目。
3. 向工作表的單元格里面寫東西
第一種 秸谢,直接賦值:
sheet['A1'] = "A是列1是第一行"
第二種,cell()方法賦值:? sheet.cell(row= 1, column = 2, value="第二個單元")
下面這個圖是cell 的方法霹肝。
4.從工作表的單元格中取數(shù)據(jù)估蹄。
一。 cell = sheet.cell()? 這個是工作表中當(dāng)前激活的單元格 沫换,單元格有3個屬性臭蚁。
print(cell.row ,cell.column, cell.value)? --行? 列? 值
第一種:sheet['A1'] .value? 獲取的第一行第一列的單元格。
第二種:sheel.cell(row=1,column=1).value? 獲取的第一行第一列的單元格。
最后就是要保存工作簿垮兑。不然炭晒,數(shù)據(jù)不會被寫入。
首先給表格起個名字:
dest_filename='empty_book.xlsx'
wb.save(filename=dest_filename)? 這樣就保存成功甥角。
#獲取 行? 列
print(sheet.max_row)
print(sheet.max_column)
后續(xù)會把這些操作封裝起來网严。