将列表列表放入pandas DataFram

2024-04-28 11:51:56 发布

您现在位置:Python中文网/ 问答频道 /正文

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

table = Cell("A1").table

给予

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

headers = table.pop(0) # gives the headers as list and leaves data

我正忙着编写代码来翻译这个,但我的猜测是,这是一个如此简单的使用,必须有方法来做到这一点。好像在文件里找不到。有什么方法的指针可以简化这个过程吗?


Tags: the方法内容列表a1tablecellpop
3条回答

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

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

   Heading1  Heading2
0         1         2
1         3         4

即使没有pop列表,我们也可以使用set_index

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

更新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

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

table = [[1 , 2], [3, 4]]
df = DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']

然后输出为:

      Heading1  Heading2
0         1        3
1         2        4

相关问题 更多 >