将CSV文件中的值存储到python中的列表中
Posted
技术标签:
【中文标题】将CSV文件中的值存储到python中的列表中【英文标题】:Storing values in a CSV file into a list in python 【发布时间】:2017-10-26 22:21:56 【问题描述】:我想创建一个列表来存储单个列的所有值。 例如,假设我的文件有一个名为“FirstNames”的列,前 3 行的“names”列包含 Merry、Pippin、Frodo。
我想创建一个类似于 [Merry, Pippin, Frodo] 的列表
我试过这样做:
import pandas as pd
data = pd.read_csv(".../TrainingFile.csv")
list = []
names = data['FirstNames']
for i in range(0,2):
list.append(names[i:i+1])
print(list)
但是,该列表不仅将值存储在单元格中,还给我这样的输出:
姓名:名字,数据类型:object,1 Merry
姓名:名字,数据类型:对象,2 Pippin
姓名:名字,数据类型:对象,3 Frodo
我该如何改变呢?感谢您的帮助。
奖励:我如何定义范围而不是 range(0,2),以便它通过文件中的行数?
【问题讨论】:
请修正for
循环后的缩进。
【参考方案1】:
请不要使用保留字如list
、type
、id
...作为变量,因为会屏蔽内置函数。
如果稍后在代码中使用list
,例如
list = data['FirstNames'].tolist()
#another solution for converting to list
list1 = list(data['SecondNames'])
得到非常奇怪的错误并且调试非常复杂。
所以需要:
L = data['FirstNames'].tolist()
或者:
L = list(data['FirstNames'])
也可以查看Is it safe to use the python word “type” in my code。
【讨论】:
我很快写了这段代码来问这个问题,但你是对的,请注意!非常感谢您的帮助。 很高兴能帮上忙!经过几个小时的调试,我再也没有使用过这个保留字;( 如果我的回答有帮助,别忘了accept。谢谢。【参考方案2】:因为您使用的是保留变量名。 不要使用 list,而是使用 list1 或其他名称作为变量名。
python中的保留变量名很少有:dict、str、list、int、pass等,我们误用了。尽量避免。
【讨论】:
以上是关于将CSV文件中的值存储到python中的列表中的主要内容,如果未能解决你的问题,请参考以下文章
用于访问 csv 文件中的值并使用 wamp 将其存储到数据库中的 python 程序