如何将excel中的整行合并为一个列表元素?

时间:2018-05-09 02:17:14

标签: excel python-3.x

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)

1 个答案:

答案 0 :(得分:0)

我强烈建议您使用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'])

如果它不起作用或者您需要任何其他帮助,请告诉我们!