首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从两个列表创建数据框表,第一个列表包含标题,第二个列表将每个值作为Python中的行

从两个列表创建数据框表,第一个列表包含标题,第二个列表将每个值作为Python中的行
EN

Stack Overflow用户
提问于 2020-12-06 03:45:26
回答 1查看 38关注 0票数 0

我有两个使用网络抓取的列表,我的第一个列表是:

代码语言:javascript
复制
[' RPJ',' TipoEmpresa',' TipoSector', ' NombreEmpresa', ' RUC', ' CIIU',' Ejercicio','TipoInformacion',  ' Trimestre',  ' Moneda', ' MetodoFlujoEfectivo', ' Cuenta', ' DescripcionCuenta', ' Monto1',  ' Monto2', ' Monto3', ' Monto4']

我的第二个清单是:

代码语言:javascript
复制
     '2|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0201|Costo|de|Ventas||-79|-90|0|0',
     '3|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D02ST|Ganancia|(Pérdida)|Bruta|12353|34428|0|0',
     '4|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0302|Gastos|de|Ventas|y|Distribución|0|0|0|0',
     '5|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0301|Gastos|de|Administración|-6992|-12647|0|0',
     '6|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0407|Ganancia|(Pérdida)|de|la|baja|en|Activos|Financieros|medidos|al|Costo|Amortizado|0|0|0|0',
     '7|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0403|Otros|Ingresos|Operativos|36|61|0|0',
     '8|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0404|Otros|Gastos|Operativos|-46|-54|0|0',
     '9|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0412|Otras|ganancias|(pérdidas)|0|0|0|0',
     '10|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D03ST|Ganancia|(Pérdida)|por|actividades|de|operación|5351|21788|0|0']

如您所见,我的第二个列表中的每个值都是我想要创建的表中的一行。我想要这样的结果

我手动完成了这项工作,但我可能有十万行要添加。

EN

回答 1

Stack Overflow用户

发布于 2020-12-06 03:55:14

由于您有两个列表,一个包含列标题,另一个包含实际数据,因此可以从这些列表创建值的字典。请注意,我将'ID‘添加到标题中,因为您需要'ID’作为数据帧中的列名。然后,只需在将行拆分为标量值后,通过迭代行来创建字典,并创建字典。

代码语言:javascript
复制
headers = ['ID',' RPJ',' TipoEmpresa',' TipoSector', ' NombreEmpresa', ' RUC', ' CIIU',' Ejercicio','TipoInformacion',  ' Trimestre',  ' Moneda', ' MetodoFlujoEfectivo', ' Cuenta', ' DescripcionCuenta', ' Monto1',  ' Monto2', ' Monto3', ' Monto4']
rows = ['1|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D01ST|Ingresos|de|actividades|ordinarias|12432|34518|0|0',
 '2|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0201|Costo|de|Ventas||-79|-90|0|0',
 '3|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D02ST|Ganancia|(Pérdida)|Bruta|12353|34428|0|0',
 '4|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0302|Gastos|de|Ventas|y|Distribución|0|0|0|0',
 '5|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0301|Gastos|de|Administración|-6992|-12647|0|0',
 '6|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0407|Ganancia|(Pérdida)|de|la|baja|en|Activos|Financieros|medidos|al|Costo|Amortizado|0|0|0|0',
 '7|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0403|Otros|Ingresos|Operativos|36|61|0|0',
 '8|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0404|Otros|Gastos|Operativos|-46|-54|0|0',
 '9|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D0412|Otras|ganancias|(pérdidas)|0|0|0|0',
 '10|I00004|SOCIEDADES|ADMINISTRADORAS|DE|FONDOS|DE|INVERSION|||AC|CAPITALES|SOCIEDAD|ADMINISTRADORA|DE|FONDOS|DE|INVERSION|S.A.|20504893295|6599|2014|Anual|Individual|Anual|Soles|Método|Directo|2D03ST|Ganancia|(Pérdida)|por|actividades|de|operación|5351|21788|0|0']

dct = []
for row in rows:
  temp = {}
  for header, v in zip(headers,row.split("|")):
    temp[header] = v
  dct.append(temp)

df = pd.DataFrame(dct, index=[x for x in range(len(dct))])
print(df.head())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65161234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档