[英]Write a new column to existing xlsx file
我有一個.xlsx
文件,其基本格式跨多個工作表(工作表 1、工作表 2、工作表 3)
Col1 | Col2 | Col3 | Col4 | Col5
abc1 | abc2 | abc3 | abc4 | abc5
列數變化的地方。 我希望能夠寫一個新的給定工作表的名稱。 此刻我有:
import openpyxl
def get_sheets():
wb = openpyxl.load_workbook('C:/Users/mydir/Desktop/myfile.xlsx')
sheets = wb.get_sheet_names()
sheet3 = "Sheet3"
sheet4 = "Sheet4"
for i in sheets:
if i == sheet3:
# Write column
elif i == sheet4:
# Write column in different sheet
else:
continue
def main():
get_sheets()
print
print "Script finished."
if __name__ == "__main__":
main()
openpyxl 是否允許將新列寫入現有 xlsx 文件,其標題和行數等於標題后的行數?
要向現有 xlsx 文件添加新列,您可以編寫add_column()
函數,如下所示。 這需要工作表名稱和您希望添加的值列表:
import openpyxl
def add_column(sheet_name, column):
ws = wb[sheet_name]
new_column = ws.max_column + 1
for rowy, value in enumerate(column, start=1):
ws.cell(row=rowy, column=new_column, value=value)
wb = openpyxl.load_workbook('C:/Users/mydir/Desktop/myfile.xlsx')
add_column('Sheet3', ['new header', 'value1', 'value2'])
wb.save('output.xlsx') # use the same name if required
您只需使用wb['Sheet3']
即可按名稱獲取工作表。 然后要獲取工作表中現有列的數量,請使用ws.max_column
獲取最后一列索引。 為新添加的列添加1
。
接下來使用 Python 的enumerate()
函數來處理列值列表。 對於每一個,它都會為您提供要使用的行號和要寫入單元格的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.