Как переименовать столбцы в нескольких файлах CSV в папке? - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть два CSV-файла в папке

https://www.dropbox.com/sh/jyu2rj2ra01vuvb/AADht6uAhJcjnSjIFpNufVlka?dl=0

Как переименовать столбцы всех файлов в папке следующим образом

S.No    Fruit   Vendor  Price       

Ввод:

Ожидаемый вывод:

Файл df1

S.No    Fruit   VendorA PriceA
1       Apple     AB    89
2       Banana    CA    72      

Файл df2

S.No    Fruit   VendorB PriceB
1       Mango       AB  55
2       Watermelon  BC  23

Ожидаемый вывод:

Файл df1

S.No    Fruit   Vendor  Price
1       Apple     AB    89
2       Banana    CA    72      

Файл df2

S.No    Fruit   Vendor  Price
1       Mango       AB  55
2       Watermelon  BC  23

Ответы [ 3 ]

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

Если вам не нужно строго использовать панд.Есть и другое решение, которое будет работать лучше, чем panda.

import shutil
import glob

files = glob.glob(".\*.csv")

for i in range(len(files)):
    from_file = open(files[i]) 

    to_file = open(files[i], mode="w")
    to_file.write("S.No,Fruit,Vendor,Price\n")
    shutil.copyfileobj(from_file, to_file)

Таким образом, вы можете получить все файлы в папке с расширением .csv.Также вы даже не читаете ни одной строки.Так что это будет работать намного быстрее, если ваш CSV-файл станет больше.

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

Вы можете просто использовать это:

files = ['df1.csv', 'df2.csv']
for file in files:
    with open(file, 'r') as f:
        data = f.readlines()
    data[0] = 'S.no,Fruit,Vendor,Price'+'\n'
    with open(file, 'w') as f:
        for element in data:
            f.write(element)
0 голосов
/ 16 ноября 2018

Чтение файла в pandas данных:

df = pd.read_csv('df1.csv')

Назначьте список столбцов с именами, которые вы хотите

col_list = ['S.No','Fruit','Vendor','Price']

Назначить этот список столбцов на фрейм данных

df.columns = col_list

Запишите этот фрейм данных в другой csv

df.to_csv('new_df1.csv', index=False)

Сделайте это для всех фреймов данных. Дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...