Пишите в несколько CSV, используя glob - PullRequest
0 голосов
/ 30 ноября 2018

Я работаю с большим количеством CSV-файлов и мне нужно добавить столбец.Я попытался glob, например:

import glob

filenames = sorted(glob.glob('./DATA1/*2018*.csv'))
filenames = filenames[0:10]

import numpy as np
import pandas as pd

for f in filenames:
    df = pd.read_csv(f, header=None, index_col=None)
    df.columns = ['Date','Signal','Data','Code']
 #this is what I should add to all csv files   
    df["ID"] = df["Data"].str.slice(0,2) 

, и мне нужен способ сохранить файл обратно в CSV (не объединенный) с другим именем, например, «file01edited.csv» после добавления столбца в каждый CSVфайл.

1 Ответ

0 голосов
/ 30 ноября 2018

Используйте to_csv с f-string s для изменения имен файлов:

for f in filenames:
    df = pd.read_csv(f, names=['Date','Signal','Data','Code'], index_col=None)
 #this is what I should add to all csv files   
    df["ID"] = df["Data"].str.slice(0,2) 
    #python 3.6+
    df.to_csv(f'{f[:-4]}edited.csv', index=False)
    #python bellow 3.6
    #df.to_csv('{}edited.csv'.format(f[:-4]), index=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...