Python2.7,如何将多个字段存储到单独的列表中

Python2.7,如何将多个字段存储到单独的列表中,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我正在以读取模式打开一个大文本文件。我能够用逗号分割数据,并将其从所有空白中删除。现在我尝试将每个字段存储到一个单独的列表中 数据示例: Montgomery,2327375.079,1273061.532,3 ,3 Stanly,2224024.174,1267300.181,5 ,5 Henderson,1559580.515,1277200.634,5 ,5 当前代码: county = [] x_coor = [] y_coor = [] observed = [] expect

我正在以读取模式打开一个大文本文件。我能够用逗号分割数据,并将其从所有空白中删除。现在我尝试将每个字段存储到一个单独的列表中

数据示例:

Montgomery,2327375.079,1273061.532,3 ,3 
Stanly,2224024.174,1267300.181,5 ,5 
Henderson,1559580.515,1277200.634,5 ,5 
当前代码:

county = []
x_coor = []
y_coor = []
observed = []
expected = []

for line in lines:
        for value in line.split(','):
            value = value.strip()
我相信我的下一步将是,
country.append[value]
,但当我尝试这样做并打印country时,它打印了:

[['3']] [['3'], ['5']] [['3'], ['5'], ['5']]

有人对如何将每一列写进自己的列表有什么指导吗

你很接近!我将迭代所有行,在逗号字符上拆分每一行,以创建底层数据行。然后,将行的每个单独组件附加到相应的列表中:

county = []
x_coor = []
y_coor = []
observed = []
expected = []

for line in lines:
    row = line.split(',')

    county.append(row[0])
    x_coor.append(row[1])
    y_coor.append(row[2])
    observed.append(row[3])
    expected.append(row[4])

你很接近!我将迭代所有行,在逗号字符上拆分每一行,以创建底层数据行。然后,将行的每个单独组件附加到相应的列表中:

county = []
x_coor = []
y_coor = []
observed = []
expected = []

for line in lines:
    row = line.split(',')

    county.append(row[0])
    x_coor.append(row[1])
    y_coor.append(row[2])
    observed.append(row[3])
    expected.append(row[4])

可以说,一种更具python风格的方法是通过列表理解。假设您有一个名为“file.csv”的.csv文件,其中包含数据。以下内容将满足您的需求:

import csv
with open('file.csv', 'rb') as data:
    reader = csv.reader(data)
    awesome_list = list(reader)

county = [x[0] for x in awesome_list]
x_coor = [x[1] for x in awesome_list]
y_coor = [x[2] for x in awesome_list]
observed = [x[3] for x in awesome_list]
expected = [x[4] for x in awesome_list]

可以说,一种更具python风格的方法是通过列表理解。假设您有一个名为“file.csv”的.csv文件,其中包含数据。以下内容将满足您的需求:

import csv
with open('file.csv', 'rb') as data:
    reader = csv.reader(data)
    awesome_list = list(reader)

county = [x[0] for x in awesome_list]
x_coor = [x[1] for x in awesome_list]
y_coor = [x[2] for x in awesome_list]
observed = [x[3] for x in awesome_list]
expected = [x[4] for x in awesome_list]

最好粘贴下一步下一步:county.append([value])print county,您可以使用
line=line.replace('',)
@TiffanyMorris添加
列表
更好粘贴下一步下一步:county.append([value])print county,你可以用
line=line来删除空格。替换(“”),
@TiffanyMorris你在添加一个
列表
我刚才输入了相同的解决方案。谢谢你,保罗。如果我需要拆分和剥离数据,我会在row=line.split(',')下添加row=line.strip()吗?在我们说
row=line.split(,“”)之后,
row
是一个数组,由
line
的逗号分隔内容组成。因此,我们应该在一行中使用
row=line.strip().split(',')
,以确保行:)上没有尾随或前导空格。接下来,如果希望每个元素都去除其空格,则应通过
row[0].split()从每个元素中去除空格
等等。这似乎是可行的,但输出本身在重复。例如,['Montgomery']['Montgomery','Stanly']['Montgomery','Stanly','Henderson']我在半路上输入了相同的解决方案。谢谢你,Paul。如果我需要拆分和剥离数据,我会在row=line.split(',')下添加row=line.strip()吗?在我们说
row=line.split(,“”)之后,
row
是一个数组,由
line
的逗号分隔内容组成。因此,我们应该在一行中使用
row=line.strip().split(',')
,以确保行:)上没有尾随或前导空格。接下来,如果希望每个元素都去除其空格,则应通过
row[0].split()从每个元素中去除空格
等等。这似乎是可行的,但输出本身在重复。例如,['Montgomery']['Montgomery','Stanly']['Montgomery','Stanly','Henderson']