Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将每个工作表读入新的数据框_Python_Python 3.x_Excel_Pandas - Fatal编程技术网

Python 将每个工作表读入新的数据框

Python 将每个工作表读入新的数据框,python,python-3.x,excel,pandas,Python,Python 3.x,Excel,Pandas,我在Excel文件中有50多个工作表。 我的主要目标是将不同的列导入不同的数据帧。 我可以导入文件并读取工作表的所有名称 import pandas as pd df = pd.read_excel('Fileoffiles.xls') df.sheet_names # will give me names of all my sheets 其思想是将图纸读入df1、df2….、df50 我不希望它出现在数据帧字典中,只希望出现在单个数据帧中。您可以尝试使用“eval”将第I个工作表分配给第I

我在Excel文件中有50多个工作表。 我的主要目标是将不同的列导入不同的数据帧。 我可以导入文件并读取工作表的所有名称

import pandas as pd
df = pd.read_excel('Fileoffiles.xls')
df.sheet_names # will give me names of all my sheets
其思想是将图纸读入
df1、df2….、df50

我不希望它出现在数据帧字典中,只希望出现在单个数据帧中。

您可以尝试使用“eval”将第I个工作表分配给第I个数据帧。代码类似于:

xls = pd.ExcelFile('Fileoffiles.xls')
for i in range(len(xls.sheet_names)):
    eval('df' + str(i) '= pd.read_excel("Fileoffiles.xls", sheetname="' + xls.sheet_names[i] +'")')

正如Mayank所提到的,如果您希望命名每个数据帧,那么数据帧字典可能最有效

将熊猫作为pd导入
xl=pd.ExcelFile('Book1.xlsx')
sheets=xl.sheet\u名称
dfs={}
df_名称=范围(长度(张))
df_名称=['df'+str(i)表示df_名称中的i]
对于图纸,zip中的名称(图纸,df_名称):
dfs[name]=xl.parse(表)
dfs
结果为:

{'df0':     col_1  col_2  col_3  col_4  col_5
 0      12     18     24     30     36
 1      23     24     25     26     27
 2      34     30     26     22     18
 3      45     36     27     18      9
 4      56     42     28     14      0
 5      67     48     29     10     -9
 6      78     54     30      6    -18
 7      89     60     31      2    -27
 8     100     66     32     -2    -36
 9     111     72     33     -6    -45
 10    122     78     34    -10    -54
 11    133     84     35    -14    -63
 12    144     90     36    -18    -72
 13    155     96     37    -22    -81
 14    166    102     38    -26    -90
 15    177    108     39    -30    -99
 16    188    114     40    -34   -108
 17    199    120     41    -38   -117,
 'df1':          col_1       col_2  col_3      col_4      col_5
 0     1.000000   15.000000   29.0  43.000000  57.000000
 1     5.000000   20.000000   35.0  50.000000  65.000000
 2    19.000000   27.000000   35.0  43.000000  51.000000
 3    26.333333   32.666667   39.0  45.333333  51.666667
 4    35.333333   38.666667   42.0  45.333333  48.666667
 5    44.333333   44.666667   45.0  45.333333  45.666667
 6    53.333333   50.666667   48.0  45.333333  42.666667
 7    62.333333   56.666667   51.0  45.333333  39.666667
 8    71.333333   62.666667   54.0  45.333333  36.666667
 9    80.333333   68.666667   57.0  45.333333  33.666667
 10   89.333333   74.666667   60.0  45.333333  30.666667
 11   98.333333   80.666667   63.0  45.333333  27.666667
 12  107.333333   86.666667   66.0  45.333333  24.666667
 13  116.333333   92.666667   69.0  45.333333  21.666667
 14  125.333333   98.666667   72.0  45.333333  18.666667
 15  134.333333  104.666667   75.0  45.333333  15.666667
 16  143.333333  110.666667   78.0  45.333333  12.666667
 17  152.333333  116.666667   81.0  45.333333   9.666667
 18  161.333333  122.666667   84.0  45.333333   6.666667}
数据帧列表不那么复杂

dfs=[]
对于图纸中的图纸:
dfs.append(xl.parse(sheet))

另一个很好的例子是,受访者如此直截了当地告诉询问者,他们询问程序解决问题的能力是错误的,而不是在可能的情况下简单地回答,或者干脆不回答,因为你已经告诉OP他不想要他特别要求的东西

OP表示:

我不希望它出现在数据帧字典中,只希望出现在单个数据帧中


您可以将所有df存储在dict或列表中,然后访问它。有50个独立变量有什么意义?有很多答案可以帮助你建立这个链接:这不是答案