Можно вытянуть данные Excel из внешнего (и динамического).файл csv?

У меня есть скрипт, который выводит ряд показателей производительности для компьютера в a .csv. В Excel выполняет базовые статы чек на стандартное отклонение и т. д.

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

есть ли способ иметь ссылку на ячейку/таблицу внешней .csv без повторного импорта каждый раз?

5
задан editor
15.05.2023 7:42 Количество просмотров материала 3677
Распечатать страницу

6 ответов

самый простой способ сделать это, чтобы импортировать данные в Access или SQL Express, а затем использовать функции связи и функции в Excel. После первоначальной настройки, все что вам нужно сделать, это нажать кнопку Обновить все, и он будет тянуть данные и пересчитывать значения.

вы можете напрямую импортировать CSV с функцией подключения к данным,но он будет хотеть, чтобы вытащить данные В и добавить его на лист. Это будет работать, пока вы импортируете его на вторичное устройство Лист и оставьте свои формулы и расчеты на другом листе. При нажатии кнопки Обновить с помощью этого метода, он будет запрашивать имя файла, а затем повторно импортировать его, используя те же параметры, как первоначально использовались. Этот метод также обычно медленнее или непригоден для использования с большими наборами данных.

5
отвечен Benjamin Anderson 2023-05-16 15:30

Windows

вы также можете использовать Власти Запрос что немного более гибкий путь достигнуть этих же как в @Энди-Линч ответ.

  1. Get it здесь
  2. установки
  3. перейдите на новую вкладку ленты "Power Query".
  4. либо нажать кнопку "из файла" или "из интернета" и следуйте инструкциям на экране.

см. ниже анимированный gif для превью:

enter image description here

MacOS

Power Query недоступен для MacOS; а также диалоговое окно открытия файла Excel "из текста" в MacOS, принимающее URL-адрес (по крайней мере, в версии 15.33).

чтобы создать такое соединение, сначала нужно создать файл веб-запроса (.iqy), as объяснил в этом руководстве, а затем импортировать его с помощью команды меню" Данные -> получить внешние данные -> выполнить сохраненный запрос".

3
отвечен tutuDajuju 2023-05-16 17:47

вопрос "Как я могу ссылаться на данные в .файл csv?

мой способ был бы вырезать .csv-файл и использовать макрос, содержащий VBA и ADO, который получает данные и помещает его непосредственно в лист Excel. Источником может быть любая ODBC-совместимая база данных.

Excel 2010 имеет данные> > получить внешние данные-из различных источников данных. Тем не менее, я предпочитаю писать свой собственный код, потому что у меня есть абсолютный контроль и я могу форматировать результаты в макросе. Обновление ПО нажмите кнопку, и вы можете сделать что-нибудь с ним.

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

ПС посмотри на список драйверов в данных>>получение внешних данных>> существующими подключениями>> обзор >> источник >> другие дополнительные >> далее, что приводит вас в список данных свойств. Затем вы должны знать, какую исходную базу данных и какой драйвер использовать. Вы можете написать мне на cliffbeacham на Hotmail с более подробная информация.

2
отвечен Cliff Beacham 2023-05-16 20:04

более простой способ (спасибо этот пост) является просто импортировать данные, как вы бы для текстового файла, который вы уже скачали (то есть Data > Import Text File), но вместо ввода имени файла вставьте URL-адрес CSV-файла.

1
отвечен Andy Lynch 2023-05-16 22:21

импортируйте файл csv напрямую через File->From Text проверьте свойства соединения в Data->Connections

see импортируйте текстовый файл, подключившись к нему

0
отвечен estani 2023-05-17 00:38

С VBS макросом или скриптом будет выглядеть так (Excel2010 и позже):

Sub Macro1()
'
' Macro1 Macro
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;\Path\To\CSV\Folder\CSV_Data.csv" _
        , Destination:=Range("$A"))
        .CommandType = 0
        .Name = "Book1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

этот макрос был фактически записан рекордером макроса Excel 2013. Macro Recorder in Toolbar from MS Excel 2013

Можно создать кнопку, которая запускает этот макрос.

0
отвечен Arthur Zennig 2023-05-17 02:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх