Python 从CSV文件中获取数据并将其转换为变量

Python 从CSV文件中获取数据并将其转换为变量,python,csv,file-io,Python,Csv,File Io,我有一个csv文件,其格式为Steward、Department、Location、Subnet、Appliance。第一行并不重要,因为它只包含标题。我想将每一行设置为for循环中的一个变量,以便进行数据处理,所需的格式基于以下CSV数据: Subnet,Location,Department 10.10.240.0/26,bldg1,finance 10.10.240.128/25,bldg2,IT 10.10240.128/25,bldg3,Admin 10.10.244.96/27,bl

我有一个csv文件,其格式为Steward、Department、Location、Subnet、Appliance。第一行并不重要,因为它只包含标题。我想将每一行设置为for循环中的一个变量,以便进行数据处理,所需的格式基于以下CSV数据:

Subnet,Location,Department
10.10.240.0/26,bldg1,finance
10.10.240.128/25,bldg2,IT
10.10240.128/25,bldg3,Admin
10.10.244.96/27,bldg4, foo



title =department + ' - ' + location + ' - ' + subnet

您可以使用

这将创建5个名为
Stewards、Departments。。。etc
,它在各自的列中包含csv文件中的每个项目。如果要跳过标题,可以使用跳过文件第一行的
np.genfromtxt(…,skip_header=1)

不要试图将这些数据存储在一堆单独的变量中——这将是更多的工作和糟糕的做法。而是创建一个字典。我只是根据文件中数据的顺序设置键。你可以用你想要的任何东西作为你的钥匙

>>> import numpy as np
>>> Stewards, Departments, Locations, Subnets, Appliances = np.genfromtxt("a.csv", delimiter=',', dtype='string', unpack=True)
>>> alist = zip(Stewards, Departments, Locations, Subnets, Appliances)
>>> adict = {i: alist[i] for i in range(len(alist))}
>>> adict ## I just used some letters to fill in the csv file, but as long as you 
          ## didn't use commas in any of the inputs you'll be fine
{0: ('Steward', 'Department', 'Location', 'Subnet', 'Appliance'), 1: ('a', 'b', 'c', 'd', 'e'), 2: ('g', 'h', 'i', 'j', 'k'), 3: ('m', 'n', 'o', 'p', 'q')}
这使用内置的和

如果需要从中提取数据并创建字符串,只需使用
for
循环即可

string_list = []
for i in range(len(adict)):
    string_list.append( ... )

我是python新手,无法使用google foo找到您想要的任何明确答案
title=“{0}-{1}+{2}+{3}”。格式(steward,department,location,subnet.replace(“,”,“-”)
?标题格式是“steward-department-location-subnet.replace(“,”,“,”)”)'标题不能包含逗号,出于组织目的,这是定向给我使用的格式。等等,你是在问如何写入CSV文件还是从CSV文件读取?我想从CSV文件读取,以便从单元格创建一个变量导入Api。今天晚些时候我将尝试此操作。谢谢您的帮助。如果在我的一个单元格中使用“,”来分隔值,我不能使用任何其他分隔符,因为如果多个子网不使用numpy,则参数需要用逗号分隔IP地址。
string_list = []
for i in range(len(adict)):
    string_list.append( ... )