Python和Excel-OpenPyXL
我正在使用Python处理Excel,有几个问题:Python和Excel-OpenPyXL,python,python-3.x,list,openpyxl,Python,Python 3.x,List,Openpyxl,我正在使用Python处理Excel,有几个问题: 正在将Excel工作表加载到二维数组中。 在VBA中,我只需执行以下操作: 我会得到数组(1到2500,1到5),我可以很容易地访问它,例如arrData(1,5)->行1列5 在Python中,我设法做到的是: #declare list excel_data=[] #loop to load excel spreadsheet data into 2d Array #basically I am looping through e
在VBA中,我只需执行以下操作:
在Python中,我设法做到的是:
#declare list
excel_data=[]
#loop to load excel spreadsheet data into 2d Array
#basically I am looping through every row and append it to list
for row in shtData.iter_rows(min_row=5, max_row=50,values_only =True):
excel_data.append(row)
在VBA中,有一个选项Base 1
然后我计划循环遍历2500行5列->12'500个单元格
有了VBA,诚实地说(在内存中的数组上操作)是非常有效的
shtData = wkb.worksheets[0]
#再次仅供参考
shtReport = wkb.create_sheet(title="ReportTable")
#它会添加工作表,但会将其添加到加载到内存中的excel中,只有在保存后,才会覆盖HD上的excel?您可以使用Pandas并从excel电子表格创建数据框(2D表格)
import pandas as pd
df = pd.read_excel("data.xls")
print(df)
print("____________")
print(f'Average sales are: {df["Gross"].values.mean()}')
print(f'Net income for April: {df.at[3, "Net"]}')
print("____________")
df_no_header = pd.read_excel("data.xls",skiprows=1, header=None)
print(df_no_header)
print("____________")
print(f'Net income for April: {df_no_header.at[3, 2]}')
输出:
Pandas dataframe有许多方法,允许您访问行和列并执行更多操作。设置skiprows=1,header=None将跳过标题行。请参阅。您可以使用Pandas并从Excel spreadsheat创建数据框(2D表格)
import pandas as pd
df = pd.read_excel("data.xls")
print(df)
print("____________")
print(f'Average sales are: {df["Gross"].values.mean()}')
print(f'Net income for April: {df.at[3, "Net"]}')
print("____________")
df_no_header = pd.read_excel("data.xls",skiprows=1, header=None)
print(df_no_header)
print("____________")
print(f'Net income for April: {df_no_header.at[3, 2]}')
输出:
Pandas dataframe有许多方法,允许您访问行和列并执行更多操作。设置skiprows=1,header=None将跳过标题行。请参阅。那么,是否可以用它来操作Excel?还是我还需要OpenPyXL?你根本不需要OpenPyXL。这是一个更强大的选择。如果你经常处理从Excel导入大量数据的问题,那就熟悉Pandas吧。那么有可能用它来操作Excel吗?还是我还需要OpenPyXL?你根本不需要OpenPyXL。这是一个更强大的选择。如果您经常从Excel导入大量数据,请熟悉Pandas。
import pandas as pd
df = pd.read_excel("data.xls")
print(df)
print("____________")
print(f'Average sales are: {df["Gross"].values.mean()}')
print(f'Net income for April: {df.at[3, "Net"]}')
print("____________")
df_no_header = pd.read_excel("data.xls",skiprows=1, header=None)
print(df_no_header)
print("____________")
print(f'Net income for April: {df_no_header.at[3, 2]}')