获取列表到pandas DataFrame的列表

Joo*_*oop 162 python pandas datanitro

我正在将电子表格的内容读入熊猫.DataNitro有一个方法,它返回一个矩形的单元格选择列表.所以

table = Cell("A1").table
Run Code Online (Sandbox Code Playgroud)

table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]

headers = table.pop(0) # gives the headers as list and leaves data
Run Code Online (Sandbox Code Playgroud)

我正在忙着编写代码来翻译它,但我的猜测是,它是如此简单的使用,必须有方法来做到这一点.似乎无法在文档中找到它.任何指向方法的指针都会简化这个?

EdC*_*ica 249

pd.DataFrame直接调用构造函数:

df = pd.DataFrame(table, columns=headers)
df

   Heading1  Heading2
0         1         2
1         3         4
Run Code Online (Sandbox Code Playgroud)


Sho*_*esh 80

使用上面EdChum解释的方法,列表中的值显示为行.要将列表的值显示为DataFrame中的列,只需使用transpose(),如下所示:

table = [[1 , 2], [3, 4]]
df = DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']
Run Code Online (Sandbox Code Playgroud)

然后输出是:

      Heading1  Heading2
0         1        3
1         2        4
Run Code Online (Sandbox Code Playgroud)


WeN*_*Ben 7

即使没有pop我们可以做的清单set_index

pd.DataFrame(table).T.set_index(0).T
Out[11]: 
0 Heading1 Heading2
1        1        2
2        3        4
Run Code Online (Sandbox Code Playgroud)

更新 from_records

table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]

pd.DataFrame.from_records(table[1:],columns=table[0])
Out[58]: 
   Heading1  Heading2
0         1         2
1         3         4
Run Code Online (Sandbox Code Playgroud)