외부 (및 동적) .csv 파일에서 Excel 데이터를 가져올 수 있습니까?


14

컴퓨터의 여러 성능 메트릭을 .csv로 출력하는 스크립트가 있습니다. Excel은 표준 편차 등의 기본 통계 검사를 수행합니다.

.csv 파일을 Excel로 가져올 수 있다는 것을 알고 있지만 매번 다시 가져오고 다시 모델링하지 않고도 해당 데이터를 Excel 모델로 동적으로 읽습니다.

매번 다시 가져 오지 않고 셀 / 테이블 참조에 외부 .csv를 갖는 방법이 있습니까?


파일이 업데이트되면 파일이 추가되거나 덮어 쓰기됩니까?
Benjamin Anderson

완전히 덮어 썼습니다. 그러나 어느 쪽이든 작동하도록 수정할 수 있다고 생각합니다.
편집자

답변:


5

가장 쉬운 방법은 데이터를 Access 또는 SQL Express로 가져온 다음 Excel에서 데이터 연결 기능을 사용하는 것입니다. 초기 설정 후 모두 새로 고침을 클릭하면 데이터를 가져 와서 값을 다시 계산할 수 있습니다.

데이터 연결 기능을 사용하여 CSV를 직접 가져올 수 있지만 데이터를 가져 와서 워크 시트에 추가하려고합니다. 보조 워크 시트로 가져 와서 다른 시트에 수식과 계산을 남겨두면 작동합니다. 이 방법을 사용하여 새로 고침을 클릭하면 파일 이름을 묻는 메시지가 표시되고 원래 사용한 것과 동일한 설정을 사용하여 다시 가져옵니다. 이 방법은 일반적으로 큰 데이터 세트에서 속도가 느리거나 사용할 수 없습니다.


2
데이터 연결 기능을 사용하면 파일 이름 프롬프트를 비활성화 할 수 있습니다 (마법사 끝에 확인란이 있음). 이 시점에서 X 분마다 자동 새로 고침되도록 설정할 수도 있습니다. 작은 데이터 세트에 적합합니다.
Martin McNulty

4

윈도우

@ andy-lynch의 답변 에서와 동일한 방법으로 좀 더 유연한 방법 인 Power Query 를 사용할 수도 있습니다 .

  1. 그것을 얻기 여기
  2. 설치
  3. 새로운 "파워 쿼리"리본 탭으로 이동하십시오.
  4. "파일에서"또는 "웹에서"를 클릭하고 화면의 지시 사항을 따르십시오.

미리보기는 아래의 애니메이션 GIF를 참조하십시오.

여기에 이미지 설명을 입력하십시오

맥 OS

MacOS에서는 파워 쿼리를 사용할 수 없습니다. MacOS에서 Excel "텍스트에서"파일 열기 대화 상자가 URL을 수락하지 않습니다 (최소한 버전 15.33).

이러한 연결을 만들려면 먼저이 안내서에 설명 된 대로 웹 쿼리 파일 (.iqy)을 구성한 다음 "데이터-> 외부 데이터 가져 오기-> 저장된 쿼리 실행"메뉴 명령으로 가져와야합니다.


동의합니다-Excel 2016 이상에서는 이것이 기본값 ( Get 및 Transform ) 으로 이해합니다
Andy Lynch

2

문제는 ".csv 파일에서 데이터를 어떻게 참조합니까?

내 방법은 .csv 파일을 잘라 내고 VBA 및 ADO가 포함 된 매크로를 사용하여 데이터를 받고 Excel의 워크 시트에 직접 넣는 것입니다. 모든 ODBC 호환 데이터베이스가 소스가 될 수 있습니다.

Excel 2010에는 다양한 데이터 원본에서 데이터 >> 외부 데이터 가져 오기가 있습니다. 그러나 나는 절대 제어권을 가지며 매크로에서 결과의 형식을 지정할 수 있기 때문에 자체 코드를 작성하는 것을 선호합니다. 버튼을 클릭하면 새로 고침이 이루어지며 버튼으로 무엇이든 할 수 있습니다.

메트릭이 어떤 데이터베이스에서 제공되는지 알려 주면 몇 가지 세부 사항을 알려줄 수 있습니다.

PS 데이터 >> 외부 데이터 가져 오기 >> 기존 연결 >> 추가 찾아보기 >> 새 소스 >> 기타 고급 >> 다음에서 드라이버 목록을 보면 데이터 링크 속성 목록으로 연결됩니다. 그런 다음 어떤 소스 데이터베이스와 어떤 드라이버를 사용해야하는지 알아야합니다. 당신은 자세한 내용과 함께 hotmail의 cliffbeacham에 저에게 이메일을 보낼 수 있습니다.


2

이 게시물 덕분에 가장 간단한 방법 은 이미 다운로드 한 텍스트 파일 (예 :)의 데이터를 가져 오는 Data > Import Text File대신 파일 이름을 입력하는 대신 CSV 파일의 URL을 붙여 넣는 것입니다.


유용합니다. 원격 파일이 변경되면 동적으로 업데이트되지 않는다고 생각합니다.
편집자

<x> 분마다 새로 고침하는 일반적인 옵션이 여전히 적용되지만 사실입니다.
Andy Lynch


0

VBS 매크로 또는 스크립트를 사용하면 다음과 같습니다 (Excel2010 이상).

Sub Macro1()
'
' Macro1 Macro
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;\\Path\To\CSV\Folder\CSV_Data.csv" _
        , Destination:=Range("$A$1"))
        .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 매크로 레코더로 기록되었습니다. 이 매크로를 트리거하는 버튼을 만들 수 있습니다.MS Excel 2013 도구 모음의 매크로 레코더

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.