Python 跳过CSV文件中的行

Python 跳过CSV文件中的行,python,pandas,csv,Python,Pandas,Csv,通过打印,我总是得到前90行,而不是0到89和90到179等。如何纠正初始化,以便首先跳过行并开始读取文件 输出kf=100,集合=9 kf = 10 sets = 90 for i in range(0, kf): chunk[i] = pd.read_csv("Dataset.csv", skiprows=(i*sets), nrows=sets) 我相信您需要以下参数: 编辑: 我使用您的代码创建示例数据,问题是列的值分析不正确,所以对于第一组,必需的参数namewithif e

通过打印,我总是得到前90行,而不是0到89和90到179等。如何纠正初始化,以便首先跳过行并开始读取文件

输出kf=100,集合=9

kf = 10
sets = 90
for i in range(0, kf):
    chunk[i] = pd.read_csv("Dataset.csv", skiprows=(i*sets), nrows=sets)

我相信您需要以下参数:

编辑:

我使用您的代码创建示例数据,问题是列的值分析不正确,所以对于第一组,必需的参数
name
with
if else
with
None

for df in pd.read_csv("Dataset.csv", chunksize=sets):
    print(df)



是的,这适用于相同大小的块。但是如果我想改变尺寸呢?在nrows之前不应该跳过行吗?@AndrewZacharakis-我测试了你的解决方案,效果很好,你能添加一些示例数据来显示你的问题吗?例如
kf=2 sets=6
和一些
20
行数据。我添加了一个示例,并将块长度设为9行。@AndrewZacharakis-没有一些覆盖数据吗?如果将
chunk[i]
更改为
a
,然后
打印(a)
是否正常工作?什么是chunk?我在读取for循环后添加了打印(a),仍然打印前90行。块是数据集的一部分。
for df in pd.read_csv("Dataset.csv", chunksize=sets):
    print(df)
import pandas as pd

#original data
temp=u"""colA,colB
A,1
B,2
A,3
C,4
B,5
A,6
C,7
B,8
A,9
C,10
B,11
A,12
C,13
D,14
B,15
C,16"""
kf = 3
sets = 6

#after testing replace 'pd.compat.StringIO(temp)' to 'Dataset.csv'
cols = pd.read_csv(pd.compat.StringIO(temp), nrows=0).columns
print (cols)
Index(['colA', 'colB'], dtype='object')

for i in range(0, kf):
    if i == 0:
        val = 0
        names = None
    else:
        val = 1
        names = cols
    df = pd.read_csv(pd.compat.StringIO(temp), 
                     skiprows=(i*sets) + val, 
                     nrows=sets, 
                     names=names)
    print (df)

  colA  colB
0    A     1
1    B     2
2    A     3
3    C     4
4    B     5
5    A     6
  colA  colB
0    C     7
1    B     8
2    A     9
3    C    10
4    B    11
5    A    12
  colA  colB
0    C    13
1    D    14
2    B    15
3    C    16