从python文件夹中的csv文件中读取并附加第n行

从python文件夹中的csv文件中读取并附加第n行,python,pandas,python-2.7,csv,Python,Pandas,Python 2.7,Csv,我有一个文件夹,其中包含30个文件,每个文件包含数千行。我想循环浏览这些文件,创建一个包含每个文件的第10行的数据框。结果数据帧将包含来自第一个文件的第10、20、30、40等行;第二个文件中的第10、20、30、40行等,依此类推 目前我有: all_files = glob.glob("DK_Frequency/*.csv") li = [] for filename in all_files: df = pd.read_csv(filename, index_col=None, h

我有一个文件夹,其中包含30个文件,每个文件包含数千行。我想循环浏览这些文件,创建一个包含每个文件的第10行的数据框。结果数据帧将包含来自第一个文件的第10、20、30、40等行;第二个文件中的第10、20、30、40行等,依此类推

目前我有:

all_files = glob.glob("DK_Frequency/*.csv")
li = []
for filename in all_files:
    df = pd.read_csv(filename, index_col=None, header=0)
    li.append(df)
将文件夹中的不同文件追加到列表中。但我不知道如何进一步


有什么想法吗?提前谢谢。

这将使用
iloc
每隔10行对
df
进行切片,然后将其附加到
最终df
中。在循环结束时,
final_df
应该包含所有必要的行

all_files = glob.glob("DK_Frequency/*.csv")
li = []
final_df = pd.DataFrame()
for filename in all_files:
    df = pd.read_csv(filename, index_col=None, header=0)
    final_df.append(df.iloc[::10])

假设所有csv文件都具有相同的结构,可以执行以下操作:

# -*- coding: utf-8 -*-
all_files = glob.glob("DK_Frequency/*.csv")

#cols_to_take is the list of column headers
cols_to_take = pd.read_csv(all_files[0]).columns

## create an empty dataframe
big_df = pd.DataFrame(col_to_take)

for csv in all_files:
    df = pd.read_csv(csv)
    indices = list(filter(lambda x: x % 10 == 0, df.index))
    df = df.loc[indices].reset_index()

    ## append df to big_df
    big_df = big_df.append(df, ignore_index=True)

Pandas read_csv只允许使用
skiprows
保留每10行。因此,您可以使用:

all_files = glob.glob("DK_Frequency/*.csv")
li = []
for filename in all_files:
    df = pd.read_csv(filename, index_col=None, header=0, skiprows = lambda x: 0 != x%10)
    li.append(df)
global_df = pd.concat(li, ignore_index=True)

感谢您的帮助,我收到了错误:pandas.io.common.EmptyDataError:没有要从文件中解析的列您可以指定此错误的来源吗?我猜正在读取的csv文件有问题…/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py”,第730行,在init-self.\u make-engine(self.engine)文件“/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py”,第923行,在make-engine-self.f,**-self.options)文件中“/usr/local/lib/python2.7/dist packages/pandas/io/parsers.py”,第1390行,在init self中。_reader=_parser.textleader(src,**kwds)文件“pandas/parser.pyx”,第538行,在pandas.parser.textleader中。u cinit_u(pandas/parser.c:5902)pandas.io.common.EmptyDataError:没有要从文件解析的列