gpt4 book ai didi

python 3 : How to read a csv file and store specific values as variables

转载 作者:太空宇宙 更新时间:2023-11-04 10:21:35 24 4
gpt4 key购买 nike

我是 SO 的新手,编程的新手,甚至是 python 的新手哈哈,

我正在尝试读取 CSV 文件(它将包含不同的数据类型)并将特定值(“坐标”)存储为变量。

CSV 文件示例(抱歉使用代码格式,文本不想保持安静):

$id,name,last_name,age,phone_number,addrstr,addrnum
1,Constance,Harm,37,555-1234,Ocean_view,1
2,Homer,Simpson,40,555-1235,Evergreen_Terrace,742
3,John,Doe,35,555-1236,Fake_Street,123
4,Moe,Tavern,20,7648-4377,Walnut_Street,126

我想知道是否有一些简单的方法可以使用行作为索引来存储特定值,例如:“获取第 2 行并将第二个值存储在变量名称中,将第三个值存储在变量姓氏中”和“行”对于每个存储会有所不同。

不确定这是否有帮助,因为我的编码水平非常糟糕:

row = #this value will be taken from ANOTHER csv file
people = open('people.csv', 'r')
linepeople = csv.reader(people)
data = list(linepeople)
name = int(data[**row**][1])
lastname = int(data[**row**][2])
age = int(data[**row**][3])
phone = int(data[**row**][4])
addrstr = int(data[**row**][5])
addrnum = int(data[**row**][6])

我还没有找到任何非常相似的东西来指导我找到解决方案。 (我一直在阅读字典,也许这对我有帮助?)

编辑(如果不允许编辑问题,请告诉我):感谢您提供的解决方案,我开始了解可能性,但让我提供有关我的预期输出的更多信息:

我正在尝试创建一个“通用”函数以在给定行/列处仅获取一个值并将该单个值存储到变量中,而不是整行或整列。

示例:需要将 John Doe 的电话号码(第 5 列,第 4 行)存储到一个变量中,以便在打印该变量时输出为:555-1236

最佳答案

您可以逐行迭代。注意您的示例代码,您正试图将人名转换为整数...

for row in linepeople:
name=row['name']
age = int(row['age'])

如果你要做更复杂的事情,我推荐 pandas。对于初学者,它会尝试将数字列转换为 float ,您可以使用属性表示法访问它们。

import pandas as pd
import numpy as np
people = pd.read_table('people.csv', sep=',')

people.name # all the names
people.loc[0:2] # first two rows

关于 python 3 : How to read a csv file and store specific values as variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31933257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com