每列读取CSV文件

时间:2018-01-25 15:51:05

标签: python csv reader

我有一个包含四列的数据集,前三列是位置参数XYZ,后者是该位置的特定值。我希望以特定的方式将此文件读入np.array,即每个点xnodes我想从最后一列读取多个值(比方说10)。到目前为止我所拥有的是:

with open(FilePath, 'rt') as f:

    reader = csv.reader((row for row in f if not row.startswith('#')), skipinitialspace=True, delimiter=' ')

            for i, row in enumerate(reader):

                if i % xnodes == 0:

其中FilePath是数据文件的位置。现在,当满足最后一个if条件时,我想将最后一列中的10个值从索引i开始存储到数组中。

由于我对Python的了解有限,我不知道如何实现这一目标。谁能帮我?

谢谢!

1 个答案:

答案 0 :(得分:0)

正如我在评论中所说,您应该使用Pandas库来处理表:

import pandas as pd

""" your if your csv contains this :
       x    y   z   value
       10   0   0    125
       0   10   0    354
       12  21  32    214"""

df = pd.read_csv('example.csv') # by default the separator is a comma

for item in df.index:
   # do stuff with your column
   print(df.loc[item])

输出:

x  10
y  0
z  12
value  125
Name: 0, dtype: int64 

x   0
y   10 
z   21
value   214
Name: 1, dtype: int64
etc...