首页 > 解决方案 > 如何将excel中的整行组合成一个列表元素?

问题描述

Excel

我是一名学生,目前正在学习python。我想制作一个程序,以便可以将 excel 中的整行组合成一个列表元素。我该怎么做?目前,我可以将 excel 中的数据转换为字符串。我如何组合它们并将它们变成一个列表,每行作为一个元素?我如何将这个excel写入字典?预先感谢。下面是我的代码:

import csv
def getMedalStats():
  fLocation="C://TEMP//"
  print("Assumed file location is at: ", fLocation)
  fName = input("\nPlease enter a file name with its extension (ex. XXX.txt): ")
  fin = open(fLocation + fName, 'r')

  aStr = fin.read()

  return aStr




#*********************************************************************************
def main():
  eventList = getMedalStats()

  print(eventList)

标签: excelpython-3.x

解决方案


我强烈建议使用pandas.read_excel()来执行此操作。Pandas 是一个非常有用的模块,它使数据操作变得超级简单方便。

作为起点,您可以执行以下操作:

import pandas as pd
fin = pd.read_excel(fLocation + fName)

这将fin作为 pandas 数据框返回,然后您可以使用它。

作为如何操作数据框的示例:

d = {'col1': [1, 2, 3], 'col2': [3, 4, 5], 'col3': ['3a', '4b', '5d']}
df = pd.DataFrame(data=d)

如果你想把第一行变成一个列表,你可以这样做: 第一行的索引在list(df.loc[0])哪里。0

或者如果你想把第一列变成一个列表,你可以这样做: 第一列的名称在list(df.loc[:,'col1'])哪里。col1

或者,如果您想将整个 excel 变成一个列表,每行作为一个元素(通过连接每行中的所有值):

df['all']=df.astype(str).apply(''.join, axis=1)
list(df.loc[:,'all'])

让我知道它是否不起作用或您需要任何其他帮助!


推荐阅读