簡體   English   中英

從多個 csv 文件中提取所有特定行(單獨)並組合行以另存為新文件

[英]Extracting all specific rows (separately) from multiple csv files and combine rows to save as a new file

我有許多 csv 文件。 我需要從每個文件中提取所有相應的行並將其保存為新文件。 即第一個 output 文件必須包含所有輸入文件的第一行,依此類推。

我做了以下事情。

import pandas as pd
import os
import numpy as np
data = pd.DataFrame('', columns =['ObjectID', 'SPI'], index = np.arange(1,100))
path = r'C:\Users\bikra\Desktop\Pandas'
i = 1
for files in os.listdir(path):
    if files[-4:] == '.csv': 
        for j in range(0,10, 1):
        #print(files) 
            dataset = pd.read_csv(r'C:\Users\bikra\Desktop\Pandas'+'\\'+files)
            spi1 = dataset.loc[j,'SPI'] 
            data.loc[i]['ObjectID'] = files[:]
            data.loc[i]['SPI'] = spi1
            data.to_csv(r'C:\Users\bikra\Desktop\Pandas\output\\'+str(j)+'.csv') 
            i + 1

指定索引(即 'j' )時效果很好。 但是當我嘗試循環時,output csv 文件只包含第一行。 我哪里錯了?

你最好使用 append:

data = data.append(spi1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM