我想從幾個xlsx文件中添加特定的行到我的python腳本列表中。我試圖添加的行是列號4(E列)的單元格值減去列編號1(B列)的單元格值不等於0的行。我的xlsx文件如下所示:使用zip的類型錯誤
A B C D E F G H
1 A10 2 A10 2 AB
2 A105 1 A105 2 AB
因此,對於下面的代碼,我希望將第二行添加到打開的列表數字中,因爲2-1的總和不是0.然後,我想通過將它們添加到列列表中來對它們進行排序,然後將它們放入一個新的列表,主列表,一切排序。這裏是我的代碼:
import logging
import pandas as pd
from openpyxl import Workbook, load_workbook
import glob
from openpyxl.utils.dataframe import dataframe_to_rows
numbers = []
rapp = r"C:\Myfolder"
files = glob.glob(rapp)
for file in files:
df = pd.read_excel(file)
numbers = df.iloc[:, 4], df.iloc[:,1][df.iloc[:, 4] - df.iloc[:,1] != 0].tolist()
excel_input = load_workbook(excelfile)
ws = excel_input.active
for r in dataframe_to_rows(df, index=True, header=True):
ws.append(r)
else:
pass
col1 = []
col2 = []
col4 = []
col5 = []
col7 = []
col8 = []
mainlist = []
try:
for row in numbers:
col1.append(ws.cell(row=row, column=1).value)
col2.append(ws.cell(row=row, column=2).value)
col4.append(ws.cell(row=row, column=4).value)
col5.append(ws.cell(row=row, column=5).value)
col7.append(ws.cell(row=row, column=7).value)
col8.append(ws.cell(row=row, column=8).value)
except AttributeError:
logging.error('Something is wrong')
finally:
for col1, col2, col4, col5, col7, col8 in zip: #Error
mainlist.append(col1, col2, col4, col5, col7, col8)
return mainlist
以下是錯誤:
Traceback:
for col1, col2, col4, col5, col7, col8 in zip
TypeError: 'type' object is not iterable.
這是給我的錯誤。 我知道這裏有一些錯誤,我很抱歉,但這是我可以提出來解決我的任務最好的。任何人都可以在我的路上幫助我嗎?我會非常感激!我是python的新手。在Python 3.4.1中工作。
請編輯您的問題以包含您遇到的具體錯誤。還請查看[最低限度,完整,可驗證的示例]的幫助頁面(https://stackoverflow.com/help/mcve) – wnnmaw
錯誤已經寫入那裏,但我已經在腳本中的位置添加了註釋。 – Pexe
如何排序,我不明白這部分......「然後,我想通過將它們添加到列列表中進行排序,然後將它們放入一個新的列表,mainlist,在那裏一切排序」 – DJK