Преобразование списка в несколько файлов CSV с помощью Python - PullRequest
0 голосов
/ 01 июня 2019

Я хотел бы создать масштабируемый код для импорта нескольких файлов CSV, стандартизировать порядок столбцов на основе имен столбцов и переписать файлы CSV.

import glob
import pandas as pd

# Get a list of all the csv files
csv_files = glob.glob('*.csv')

# List comprehension that loads of all the files
dfs = [pd.read_csv(x,delimiter=";") for x in csv_files]

A=pd.DataFrame(dfs[0])
B=pd.DataFrame(dfs[1])
alpha=A.columns.values.tolist()
print([pd.DataFrame(x[alpha]) for x in dfs])    

Я хотел бы иметь возможность разбить этот объект и написать CSV для каждого файла и переименовать их с исходными именами. это легко возможно с питоном? Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 01 июня 2019

Если вы хотите изменить порядок столбцов в последовательном порядке, предполагая, что все CSV-файлы имеют одинаковые имена столбцов, но в другом порядке, вы можете отсортировать один из списков имен столбцов, а затем упорядочить другие по этому списку.Используя ваш пример:

csv_files = glob.glob('*.csv')
sorted_columns = []
for e,x in enumerate(csv_files):
    df = pd.read_csv(x,delimiter=";")
    if e==0:
        sorted_columns = sorted(df.columns.values.tolist())
    df[sorted_columns].to_csv(x, sep=";")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...