讀取excel某表的sheet1的前5行,寫入的第二個表的sheet1的前5行

胖豆芽發表於2024-12-04

報錯了提示缺少xlwt庫

# 從goods_list.xlsx的sheet1表中獲取前5行的資料將資料寫入到3.xlsx的sheet1表的前5行
# 從goods_list.xlsx的sheet1表中獲取前5行的資料將資料寫入到3.xlsx的sheet1表的前5行
import pandas as pd

# 正確讀取檔案,確保檔名字尾與實際格式一致
data = pd.read_excel('D:\\work\\2\\goods_list.xlsx', sheet_name='Sheet1')

# 建立用於寫入的ExcelWriter物件,不需要傳入sheet_name引數
workbook = pd.ExcelWriter('D:\\work\\2\\3.xlsx')

# 按行遍歷原工作表資料,提取前5行資料並轉換為DataFrame格式
extracted_rows = []
for index, row in data.iterrows():
    if index < 5:
        extracted_rows.append(row)
    else:
        break
extracted_df = pd.DataFrame(extracted_rows)

# 將提取的前5行資料寫入到目標檔案的Sheet1工作表中
extracted_df.to_excel(workbook, sheet_name='Sheet1', index=False)

# 儲存新建的工作簿
workbook.save()

  

xlwt庫安裝成功

但是依舊報錯

之後用管理員許可權開啟cmd 並且執行 conda install xlwt 成功安裝

執行程式依舊報錯

原因是其中一個警告級別的錯誤xlwt這個庫太老了;第二個錯誤原因是不能識別新寫入的表的名稱

解決辦法 在cmd中寫conda install openpyxl

安裝最新的openpyxl 包

依舊報錯 最後更改了測試的excel從之前的xls格式更改成了xlsx

沒有意義 最後明確了需求 讓ai寫了個程式碼

# 從goods_list.xlsx的sheet1表中獲取前5行的資料將資料寫入到3.xlsx的sheet1表的前5行
import pandas as pd

# 正確讀取檔案,確保檔名字尾與實際格式一致
data = pd.read_excel('D:\\work\\2\\goods_list.xlsx', sheet_name='Sheet1')

# 建立用於寫入的ExcelWriter物件,不需要傳入sheet_name引數
workbook = pd.ExcelWriter('D:\\work\\2\\3.xlsx')

# 按行遍歷原工作表資料,提取前5行資料並轉換為DataFrame格式
extracted_rows = []
for index, row in data.iterrows():
    if index < 5:
        extracted_rows.append(row)
    else:
        break
extracted_df = pd.DataFrame(extracted_rows)

# 將提取的前5行資料寫入到目標檔案的Sheet1工作表中
extracted_df.to_excel(workbook, sheet_name='Sheet1', index=False)

# 儲存新建的工作簿
workbook.save()

  

相關文章