request.getParameter("invoiceNo")
#
因为我正在创建数据帧df,但是我希望数据帧名称为df_0,df_1,df_2 ........................ .. df_n
我想在每次迭代中创建一个新的数据框,怎么做?
我的计数= 22,这意味着我的循环将运行22次。
有没有一种方法可以将所有数据帧水平合并为单个dta帧
14、15、16(来自第一张),14A,15A,16A(来自第二张),14B,15B,16B(来自第三张)作为col1,col2,col3,col4 ...... .................
感谢您的帮助
答案 0 :(得分:2)
您应该弥补您的问题,以便其他人可以从该站点获得最大的利益。
我将尝试为这个问题提出解决方案。
我想在每次迭代中创建一个新的数据框,怎么做?
想法是将数据帧存储为字典的值。
cnt = 22 # your loop
dict_of_df = {} # initialize empty dictionary
for i in range(0,22):
newname = df_sheetnames['col'].values[i]
dict_of_df["df_{}".format(i)] = pd.read_excel('DATA.xlsx', sheetname=newname, skiprows=6, usecols=[14,15,16])
您可以通过调用dict_of_df[key]
访问数据帧,其中key = "df_1", "df_2", ... , "df_22"
现在您有许多数据框,并且要合并,请使用pandas.concat()
如果要在此之后重命名列,
只需写complete_df.columns = ['col1', 'col2', 'col3', ...]