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']