এক্সেল 2010 তে সিএসভি আমদানি নিয়ন্ত্রণ করুন [সদৃশ]


0

এই জাতীয় মান সহ আমার সিএসভি রয়েছে:

"একটি খুব দীর্ঘ মান, কমা সহ", "387621937291732193"

উদ্ধৃতিতে সংযুক্ত থাকা সত্ত্বেও সংখ্যাটি এক্সেলের একটি সংখ্যায় পরিণত হয় এবং বৈজ্ঞানিক স্বরলিপিতে প্রদর্শিত হয়। সমস্ত কিছু একটি সংখ্যা বলে ধরে নেওয়া থেকে আপনি কীভাবে এক্সেলকে আটকাবেন? টেক্সট ফাইলগুলির মতো সিএসভি খোলার সময় কেন এক্সেল কোনও বিকল্প দেখায় না?


উত্তর:


0

আপনি =সংখ্যার স্ট্রিংয়ের শুরুতে যুক্ত করতে পারেন :

"a very long value, with a comma",="387621937291732193"

হালনাগাদ

আপনি যদি সিএসভি পরিবর্তন করতে না পারেন তবে আপনার কাছে দুটি বিকল্প রয়েছে। আপনি কেবলমাত্র CSV লোডের পরে সংখ্যার ফর্ম্যাটে প্রদর্শিত কলামের সম্পত্তিটি সেট করতে পারেন। ঘরে ডান ক্লিক করুন এবং নির্বাচন করুন Format Cell...। সেখান থেকে কেবল Numberতালিকায় নির্বাচন করুন । এটি দ্বিতীয় আইটেম। বন্ধ এবং এটি সূক্ষ্ম দেখতে হবে।

আপনার যদি এক্সেলের মধ্যে ইতিমধ্যে সঠিকভাবে ফাইলটি আমদানি করার প্রয়োজন হয় তবে আপনাকে নিজেরাই ফাইলটি প্রক্রিয়া করতে হবে। আপনি যে কোনও প্রোগ্রামিং ভাষায় এটি করতে পারেন। আপনার পছন্দ মতো কেবল ক্ষেত্রগুলিতে পড়ুন এবং সেগুলি আউটপুট করুন।

এখানে একটি ভিজস্ক্রিপ্ট উদাহরণ:

' The columns begin at index 0, this array should include indexes for each column which should be treated literally.
' The script will add a = before these columns if it doesn't already exist.

' If you want you could add the ability to set this at the command line to make this more flexible.
literalColumns=Array(1)

'----------------------------------------------------------
' Nothing else should need to be changed.

IsOK=True
FileNotFound=False
CSVFileName=""
OutputFileName="output.csv" ' This is the default output file to use when none is given via the command line.

If WScript.Arguments.Count = 1 Or WScript.Arguments.Count = 2 Then
    CSVFileName = WScript.Arguments.Item(0)
    If WScript.Arguments.Count = 2 Then
        OutputFileName = WScript.Arguments.Item(1)
    End If
Else
    CSVFileName = InputBox("Enter a CSV file name to process:", "CSV Input File")
    If Len(CSVFileName) < 1 Then
        IsOK=False
        FileNotFound = True
    End If
End If

If IsOK Then
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists(CSVFileName) Then
        ProcCSV CSVFileName, OutputFileName
    Else
        IsOK = False
        FileNotFound = True
    End If
End If

If IsOK = False Then
    msg="Usage: PrepCSV.vbs CSVFileName [OutputFileName]"
    If FileNotFound Then
        msg = msg & vbCrLf & vbCrLf &"File Not Found."
    End If
    Wscript.Echo msg
    Wscript.Quit
End If

Sub ProcCSV(InFileName, OutFileName)
    ReDim ToInsert(0)
    Set FS = CreateObject("Scripting.FileSystemObject")
    Set InFile = FS.OpenTextFile(InFileName, 1, False, -2)
    Set OutFile = objFSO.CreateTextFile(OutFileName)
    Set Regex = CreateObject("VBScript.RegExp")
    Regex.Pattern = """[^""]*""|[^,]*"
    Regex.Global = True
    Do While Not InFile.AtEndOfStream
        ReDim ToInsert(0)
        CSVLine = InFile.ReadLine
        For Each Match In Regex.Execute(CSVLine)
            If Match.Length > 0 Then
                ColDX = UBound(ToInsert)
                ReDim Preserve ToInsert(ColDX + 1)
                If InArray(ColDX, literalColumns) And Left(Match.Value, 1) <> "=" Then
                    ToInsert(ColDX) = "=" & Match.Value
                Else
                    ToInsert(ColDX) = Match.Value
                End If
            End If
        Next
        CSVLine = Join(ToInsert, ",")
        OutFile.Write Left(CSVLine, Len(CSVLine) - 1) & vbCrLf
    Loop
    InFile.Close
    OutFile.Close
End Sub

Function InArray(item, arr)
    For i=0 To UBound(arr)
        If arr(i) = item Then
            InArray=True
            Exit Function
        End If
    Next
    InArray=False
End Function

এটি ব্যবহার করতে কেবল উপরের পাঠ্যটিকে একটি ফাইলের মধ্যে সংরক্ষণ করুন PrepCSV.vbs। তারপরে আপনি এটিতে ক্লিক করতে পারেন এবং প্রক্রিয়া করতে ফাইলের নাম প্রবেশ করতে পারেন বা কমান্ড লাইন থেকে এটি কল করতে পারেন:

PrepCSV.vbs inputfile.csv outputfile.csv

যদি আমরা
সিএসভিকে

@ স্বরূপ আপডেটটি দেখুন
ক্রোয়ে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.