Объединение .csv и добавление имени файла в качестве столбца - PullRequest
0 голосов
/ 21 октября 2018

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

Самой лаконичной была эта строка CMD:

for /f %a in ('dir /b *.csv') do for /f "tokens=*" %b in (%a) do echo %b,%a >> all.csv

Я в основном перехожу к своему CSVпапку в CMD, а затем введите эту строку, и она выполняется, но не выводится вообще.Итак, я не знаю, что я делаю неправильно.

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

Кто-нибудь может помочь?

Обновление: только что проверил, когда я переименовываю файл, он работает на нем?

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Вам нужно добавить имя файла каждого csv в виде столбца в самом .csv?

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

0 голосов
/ 21 октября 2018

Я пытался воссоздать вашу ситуацию ... насколько я могу судить, ваша команда работает отлично.Вот что я попробовал (в Windows):

  • Я создал новую папку.
  • Я создал 3 CSV-файла в этой папке ("file1.csv", "file2.csv"и "file3.csv")
  • Я создал запись (с 3 полями) в каждом из 3 файлов CSV, где типичная запись может выглядеть как "100, 101, 102"
  • Я открыл командную строку, перешел в папку, содержащую эти CSV-файлы, и выполнил вашу команду как есть.
  • Команда обработала 3 CSV-файла и создала новый файл с именем «all.csv».
  • Каждая запись в «all.csv» представляется правильной: присутствуют три поля данных и присутствует четвертое поле, которое содержит имя исходного файла csv (например, «file1.csv»).").

Вы упоминаете, что он не работает при выполнении файлов, загруженных из Интернета.Можете ли вы предоставить какие-либо дополнительные сведения об этих файлах?

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