WedX - журнал о программировании и компьютерных науках

Скрипт Powershell для экспорта запроса или таблицы Microsoft Access в файл CSV

У меня есть зачатки базового сценария. В идеале он должен запускать запрос в Access, затем брать результаты запроса и вводить в CSV, но, похоже, он ничего не записывает в мои CSV (хотя измененная дата/время изменяются).

Что мне не хватает?

$Acc = New-Object –Com Access.Application

$Acc.OpenCurrentDataBase("H:\TEST.mdb")

#Runs the query
$Acc.DoCmd.OpenQuery("Query1")

#Dealing with results
$Results = $Acc.DoCmd.OpenQuery("Query1")

$Results | Select-Object $Results | Export-Csv -Path H:\test.csv -Delimiter ";"

Я также попытался закончить с этим вместо этого:

$Results | Out-File -Append H:\test2.csv -Encoding UTF8
09.01.2017

  • $Results пусто? 09.01.2017
  • Нет, если я запускаю запрос вручную, он дает как минимум несколько результатов. 09.01.2017
  • @glass_kites Является ли $results строковым массивом или чем-то, что можно представить как единое целое? $results.GetType().Fullname. $Results | Select-Object $Results мне кажется странным. Если $results является объектом, можете ли вы просто полностью удалить выбор? 09.01.2017
  • Вы используете COM-объект для доступа. То, что вы сделали, эквивалентно открытию файла .doc в слове. Вы можете попробовать что-то вроде этого blogs.technet.microsoft.com/heyscriptingguy/2009/08/13/ 09.01.2017
  • Вывод моего запроса (который я называю $Results) заканчивается представлением таблицы данных таблицы из 8 столбцов в Access. Если это поможет? 09.01.2017

Ответы:


1

Метод OpenQuery() просто открывает запрос в Access. Он не возвращает результаты запроса. Вы можете использовать метод TransferText() для сохранения набора результатов определение запроса в формате CSV:

$acc.DoCmd.Transfertext(2, [Type]::Missing, 'Query1', 'H:\test.csv', $true)
09.01.2017
  • Я попробовал эту строку кода. Он печатает в файл, но у меня есть две небольшие проблемы. 1. я хочу изменить разделитель с запятой на табуляцию, а во-вторых, я хочу, чтобы двойные кавычки вокруг значений были удалены. Извините за поздний вопрос на старый вопрос 16.07.2020
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]