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)
解决方案
我强烈建议使用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'])
让我知道它是否不起作用或您需要任何其他帮助!
推荐阅读
- install4j - Ctrl+c 在安装程序的 GUI 模式下不起作用
- javascript -
- ip - TOR IP 混淆卢森堡、肯塔基还是亚利桑那?
- vue.js - Vuetify v-autocomplete 一旦构建为 Vue Web 组件就不起作用
- json - 用于生成 JSON 的可定制 GUI
- javascript - 国际转换值(货币)在 Textinput 中不起作用
- hierarchical-clustering - 在没有 sklearn 的情况下实现 HAC 算法
- c# - 如何清除 c# 程序中的终端?
- python - 是否复制了多处理管理器注册类型的参数?
- angular - 从 Angular 中的 API 更新深层嵌套表单数组