Как объединить несколько файлов CSV в папке в один файл на Azure? - PullRequest
1 голос
/ 31 января 2020

Я написал этот код, и он не показывает ошибок. Но я не могу увидеть этот выходной файл. Любая помощь будет оценена.

from os import chdir
from glob import glob
import pandas as pd

def produceOneCSV(list_of_files, file_out):

   result_obj = pd.concat([pd.read_csv(file,encoding='utf-8') for file in list_of_files])

   result_obj.to_csv(file_out, index=False, encoding='utf-8')


root = "FOLDER PATH"

chdir(root)


file_pattern = ".csv"
list_of_files = [file for file in glob(root+'*.csv')]



file_out = "ConsolidateOutput.csv"
produceOneCSV(list_of_files, file_out)

1 Ответ

0 голосов
/ 31 января 2020

Проверьте путь к папке, а также путь к приложению и права доступа

Я запустил этот код без проблем. Я начал с 3 CSV и закончил с одним. Однако было несколько проблем с конфигурацией, из-за которых я сначала не видел CSV. Полный код ниже с реальными путями для справки.

Вот что я должен был исправить:

  1. В нынешнем виде этот код хранится в папке, где расположен этот код. Это намеренно? Часто это не так, поэтому go проверьте, где находится ваш file.py, чтобы увидеть, есть ли там ваш CSV.

  2. Убедитесь, что у вас есть необходимые разрешения для записи в эту папку. Это не было проблемой здесь, но это было проблемой для проектов в прошлом.

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

Вот мой полный рабочий код:

from os import chdir
from glob import glob
import pandas as pd


def produceOneCSV(list_of_files, file_out):
    result_obj = pd.concat([pd.read_csv(file, encoding='utf-8') for file in list_of_files])
    result_obj.to_csv(file_out, index=False, encoding='utf-8')


root = "C:\\Users\\Matthew\\PycharmProjects\\stackoverflow\\"

chdir(root)

file_pattern = ".csv"
list_of_files = [file for file in glob(root + '*.csv')]

file_out = "ConsolidateOutput.csv"
produceOneCSV(list_of_files, file_out)
...