用Python读取csv文件第i列的最佳方法是什么?
我已经习惯了R,它提供了一列一列读取CSV文件的快速功能,有人能提出一种快速和高效的方法来读取python中的大数据(例如CSV)文件吗?例如,CSV文件的第i列 我有以下几点,但这需要时间:用Python读取csv文件第i列的最佳方法是什么?,python,r,python-2.7,csv,import-from-csv,Python,R,Python 2.7,Csv,Import From Csv,我已经习惯了R,它提供了一列一列读取CSV文件的快速功能,有人能提出一种快速和高效的方法来读取python中的大数据(例如CSV)文件吗?例如,CSV文件的第i列 我有以下几点,但这需要时间: import os,csv, numpy, scipy from numpy import * f= open('some.csv', 'rb') reader = csv.reader(f, delimiter=',') header = reader.next
import os,csv, numpy, scipy
from numpy import *
f= open('some.csv', 'rb')
reader = csv.reader(f, delimiter=',')
header = reader.next()
zipped = zip(*reader)
print( zipped[0] ) # is the first column
有没有更好的方法在python中读取数据(从大文件中读取数据)(至少在内存方面与R一样快)
使用zip
将整个文件加载到内存中,然后将其转置以获得列值。如果只需要列值,只需将其包含在列表中即可
如果需要多个列,则可以执行以下操作:
from operator import itemgetter
get_cols = itemgetter(1, 3, 5)
cols = map(get_cols, reader)
您还可以使用pandas.read_csv及其
use_cols
参数。看
from operator import itemgetter
get_cols = itemgetter(1, 3, 5)
cols = map(get_cols, reader)
import pandas as pd
data = pd.read_csv('some.csv', use_cols = ['col_1', 'col_2', 'col_4'])
...