亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在只讀模式下使用 OpenPyXL 獲取 Excel 工作表的列名

在只讀模式下使用 OpenPyXL 獲取 Excel 工作表的列名

繁星coding 2021-05-30 14:57:22
我該如何找回openpyxl只讀 工作表中的列名(第一行單元格的值)?City, Population,Country在下面的示例工作表中openpyxl 只讀工作簿中的所有列名?City,Population,Country,從表1幀和其他列名從所有其他工作表Excel 工作表示例:| City       | Population  |    Country   || -----------|------------ | ------------ || Madison    |   252,551   |     USA      || Bengaluru  | 10,178,000  |    India     || ...        |       ...   |     ...      |示例代碼:from openpyxl import load_workbookwb = load_workbook(filename=large_file.xlsx, read_only=True)sheet = wb.worksheets[0]... (not sure where to go from here)筆記:我必須使用只讀,因為 Excel 文件有超過 100 萬行(不要問)我想要列名,以便最終推斷出列類型并將excel數據導入到PostgreSQL數據庫中
查看完整描述

3 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

這將打印第 1 行的所有內容;


list_with_values=[]

for cell in ws[1]:

    list_with_values.append(cell.value)

如果出于某種原因想要獲取已填寫的列字母的列表,則可以:


column_list = [cell.column for cell in ws[1]]

對于你的第二個問題;假設您已將標題值存儲在名為“list_with_values”的列表中


from openpyxl import Workbook

wb = Workbook()

ws = wb['Sheet']

#Sheet is the default sheet name, you can rename it or create additional ones with wb.create_sheet()

ws.append(list_with_values)

wb.save('OutPut.xlsx')


查看完整回答
反對 回復 2021-06-01
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

只讀模式提供對工作表中任何一行或一組行的快速訪問。使用該方法iter_rows()限制選擇。因此,要獲得工作表的第一行:


rows = ws.iter_rows(min_row=1, max_row=1) # returns a generator of rows

first_row = next(rows) # get the first row

headings = [c.value for c in first_row] # extract the values from the cells


查看完整回答
反對 回復 2021-06-01
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

查理·克拉克斯(Charlie Clarks)的答案精簡到具有列表理解力

    headers = [c.value for c in next(wb['sheet_name'].iter_rows(min_row=1, max_row=1))]


查看完整回答
反對 回復 2021-06-01
  • 3 回答
  • 0 關注
  • 862 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號