我从这里下载了一个数据列表:this
它是一个非常标准的数据集:
Bank Name,City,ST,CERT,Acquiring Institution,Closing Date,Updated Date
Proficio Bank,Cottonwood Heights,UT,35495,Cache Valley Bank,3-Mar-17,8-Mar-17
Seaway Bank and Trust Company,Chicago,IL,19328,State Bank of Texas,27-Jan-17,17-Feb-17
Harvest Community Bank,Pennsville,NJ,34951,First-Citizens Bank & Trust Company,13-Jan-17,17-Feb-17
Allied Bank,Mulberry,AR,91,Today's Bank,23-Sep-16,17-Nov-16
但是,我用来将每列放入列表的代码比我想象的要冗长得多:
import csv
a = []
b = []
c = []
d = []
e = []
f = []
g = []
with open('banklist.csv', 'rb') as cf:
bl = csv.reader(cf, delimiter=',')
for row in bl:
a.append(row[0])
b.append(row[1])
c.append(row[2])
d.append(row[3])
e.append(row[4])
f.append(row[5])
g.append(row[6])
print a
print b
print c
print d
print e
print f
print g
必须有一种方法可以使这更简单。
答案 0 :(得分:0)
是的,还有更好的方法:使用pandas DataFrames。 DataFrame中的每一列都是一个单独的列表:
df = pd.read_csv('your_file.csv')
# Column extraction example:
df['City'].values
# array(['Cottonwood Heights', 'Chicago', 'Pennsville', 'Mulberry'], dtype=object)
如果你真的想要一个Python列表(不需要这个 - 你可以在Pandas中处理数据!),强迫一个数组到一个列表:
df['City'].values.tolist()
# ['Cottonwood Heights', 'Chicago', 'Pennsville', 'Mulberry']