क्या आप एक्सेल (और डायनामिक) .csv फ़ाइल से एक्सेल डेटा खींच सकते हैं?


14

मुझे एक स्क्रिप्ट मिली है जो एक कंप्यूटर के लिए कई प्रदर्शन मेट्रिक्स को .csv में आउटपुट करती है। एक्सेल मानक विचलन, आदि के लिए एक बुनियादी आँकड़े जाँच करता है।

मुझे लगता है कि आप Excel में .csv फ़ाइलों को आयात कर सकते हैं, लेकिन जो मैं करने की कोशिश कर रहा हूं, वह उस डेटा को गतिशील रूप से मेरे एक्सेल मॉडल में पढ़ने के लिए है, जो हर बार फिर से आयात और री-मॉडल किए बिना होता है।

वहाँ एक तरह से एक सेल / तालिका संदर्भ एक बाहरी .csv है हर बार reimporting के बिना है?


जब फ़ाइल को अपडेट किया जाता है, तो क्या इसे संलग्न या अधिलेखित किया जा रहा है?
बेंजामिन एंडरसन

पूरी तरह से अधिलेखित। लेकिन मुझे लगता है कि मैं इसे किसी भी तरह से काम करने के लिए संशोधित कर सकता हूं।
संपादक

जवाबों:


5

ऐसा करने का सबसे आसान तरीका डेटा को एक्सेस या SQL एक्सप्रेस में आयात करना है, और फिर Excel में डेटा कनेक्शन सुविधाओं और कार्यों का उपयोग करना है। प्रारंभिक सेटअप के बाद, आपको बस इतना करना होगा कि रिफ्रेश ऑल पर क्लिक करें और यह डेटा को खींच लेगा और मूल्यों को पुनर्गणना करेगा।

आप सीधे CSV को डेटा कनेक्शन सुविधा के साथ आयात कर सकते हैं, लेकिन यह डेटा को एक वर्कशीट में खींचने और उसे जोड़ना चाहता है। यह तब तक काम करेगा, जब तक आप इसे द्वितीयक वर्कशीट में आयात करते हैं और अपने फॉर्मूले और गणना को दूसरी शीट पर छोड़ देते हैं। जब आप इस विधि का उपयोग करके ताज़ा करें पर क्लिक करते हैं, तो यह फ़ाइल नाम के लिए पूछने वाला है, और फिर मूल रूप से उपयोग की गई सेटिंग्स का उपयोग करके इसे फिर से आयात करें। यह विधि आमतौर पर बड़े डेटासेट के साथ धीमी या अनुपयोगी भी होती है।


2
डेटा कनेक्शन सुविधा का उपयोग करके आप फ़ाइल नाम प्रॉम्प्ट को अक्षम कर सकते हैं (विज़ार्ड के अंत में एक चेकबॉक्स है)। उस बिंदु पर आप इसे हर X मिनट में ऑटो-रिफ्रेश करने के लिए भी सेट कर सकते हैं। छोटे डेटासेट के लिए अच्छी तरह से काम करता है।
मार्टिन मैकएनकेयर

4

खिड़कियाँ

आप Power Query का उपयोग भी कर सकते हैं जो कि @ -y-lynch के उत्तर के समान ही थोड़ा अधिक लचीला तरीका है ।

  1. इसे यहाँ ले आओ
  2. इसे स्थापित करो
  3. नए "पावर क्वेरी" रिबन टैब पर जाएं।
  4. या तो "फ़ाइल से", या "वेब से" पर क्लिक करें और स्क्रीन पर दिए गए निर्देशों का पालन करें।

पूर्वावलोकन के लिए नीचे एनिमेटेड gif देखें:

यहां छवि विवरण दर्ज करें

मैक ओ एस

MacOS के लिए पावर क्वेरी उपलब्ध नहीं है; ना ही किसी URL को स्वीकार करने वाले MacOS पर एक्सेल "टेक्स्ट से" ओपन फ़ाइल संवाद है (कम से कम 15.33 संस्करण में)।

इस तरह के संबंध बनाने के लिए सबसे पहले एक वेब क्वेरी फ़ाइल (.iqy) बनानी होगी, जैसा कि इस गाइड में बताया गया है , और फिर इसे "डेटा -> बाहरी डेटा प्राप्त करें -> रन क्वेरी से बचाएं " मेनू कमांड के साथ आयात करें।


मैं सहमत हूं - एक्सेल 2016+ में मैं समझता हूं कि यह अब डिफ़ॉल्ट है ( गेट एंड ट्रांसफॉर्म के रूप में )
एंडी लिंच

2

सवाल यह है कि मैं एक .csv फ़ाइल में डेटा कैसे संदर्भित करूं?

मेरा तरीका .csv फ़ाइल को काटना और वीबीए और एडीओ युक्त एक मैक्रो का उपयोग करना होगा जो डेटा प्राप्त करता है और इसे सीधे एक्सेल में एक वर्कशीट में डालता है। कोई भी ODBC अनुरूप डेटाबेस आपका स्रोत हो सकता है।

एक्सेल 2010 में डेटा है> बाहरी डेटा प्राप्त करें - विभिन्न डेटा स्रोतों से। हालांकि, मैं अपना कोड लिखना पसंद करता हूं क्योंकि मेरा पूर्ण नियंत्रण है और मैक्रो में परिणामों को प्रारूपित कर सकता है। ताज़ा करना एक बटन के क्लिक पर है और आप इसके साथ कुछ भी कर सकते हैं।

अगर आप मुझे बताएं कि मेट्रिक्स किस डेटाबेस से आ रहे हैं तो मैं आपको कुछ बारीकियों को बता सकता हूं।

PS डेटा में ड्राइवरों की सूची देखें >> बाहरी डेटा प्राप्त करें >> मौजूदा कनेक्शन >> अधिक के लिए ब्राउज़ करें >> नया स्रोत >> अन्य उन्नत >> अगला जो आपको डेटा लिंक गुण सूची में ले जाता है। फिर आपको यह जानना होगा कि कौन सा स्रोत डेटाबेस और किस ड्राइवर का उपयोग करना है। आप मुझे अधिक विवरण के साथ हॉटमेल पर क्लिफबीचम पर ईमेल कर सकते हैं।


2

एक सरल तरीका ( इस पोस्ट के लिए धन्यवाद ) केवल डेटा आयात करना है जैसा कि आप एक पाठ फ़ाइल के लिए करेंगे जिसे आपने पहले ही डाउनलोड किया है (यानी Data > Import Text File), लेकिन एक फ़ाइल नाम दर्ज करने के बजाय, सीएसवी फ़ाइल का URL पेस्ट करें।


यह उपयोगी है। यदि दूरस्थ फ़ाइल बदलती है, तो मुझे लगता है कि यह गतिशील रूप से अद्यतन नहीं है।
संपादक

यह सच है - यद्यपि खुले / हर <x> मिनट पर ताज़ा करने के सामान्य विकल्प अभी भी लागू होते हैं।
एंडी लिंच


0

वीबीएस मैक्रो या स्क्रिप्ट की तरह दिखेगा (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

यह मैक्रो वास्तव में एक्सेल 2013 मैक्रो रिकॉर्डर द्वारा दर्ज किया गया था। आप एक बटन बना सकते हैं जो इस मैक्रो को ट्रिगर करता है।MS Excel 2013 से टूलबार में मैक्रो रिकॉर्डर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.