উবুন্টুতে সিএসভি ফাইলগুলি সম্পাদনা করা [বন্ধ]


9

উবুন্টুতে সিএসভি ফাইলগুলি সম্পাদনা করার ভাল উপায় কী?

ফাইলগুলি দেখতে এরকম কিছু দেখাচ্ছে:

This,is,data,with,a,header
2,2,3,4,,
1,,3,,6,6
,5,3,5,5,6
1,2,,,,
1,2,3,4,8,6
1,,9,,5,9
-1,,3,4,5,6
1,2,0,4,5,6

আমি ওপেন অফিস ব্যবহার করছি, তবে ক্ষেত্রের সমস্ত অংশের উদ্ধৃতি দেওয়ার ডিফল্ট আচরণটি বন্ধ করতে প্রায় 5 টি ক্লিক লাগে।

আমি হালকা ও সহজে ব্যবহারযোগ্য এমন কিছু সন্ধান করতে চাই যা ডেটা সন্নিবেশ / মুছতে এবং কলাম-ভিত্তিক বাছাইয়ের অনুমতি দেয়।

উত্তর:


3

ভিমের জন্য, csv.vim একটি দুর্দান্ত প্লাগইন রয়েছে


আমি স্রেফ সেই বিকল্পটি খুঁজছি come সিএসভি "বৃহত্তর" হয় যখন এটির বিশাল পারফরম্যান্স সমস্যা রয়েছে; বর্তমানে এটি 500 টি লাইন থাকা সিএসভির জন্য লুপ করে।
k0pernikus


2

আপনি এই প্রান্তে gnumeric ব্যবহার করতে পারেন। আমার সিস্টেমে (ক্রাঞ্চব্যাং) এবং আপনার উদাহরণের মতো একটি ফাইলের সাথে লিফপ্যাড প্রায় 2M র্যাম খায়; gnumeric, 4M; এবং স্ক্যাল্যাক (লিব্রে অফিস থেকে), 34 এম। জিনুমারিক স্পষ্টভাবে স্বল্পতম হালকা প্রান্তে রয়েছে এবং ফাইলটি খোলার সময় এটি আপনার বিভাজককে সঠিকভাবে সনাক্ত করতে হবে।

তবে (একটি তবে আছে ...) জেনুমুরিক আপনাকে মেনুগুলির বাধা ছাড়াই পরিবর্তিত ফাইলটি সংরক্ষণ করতে দেবে না। এটি অনুসরণ করার জন্য একটি বেস স্ক্রিপ্ট অনুসরণ করা হবে। স্ক্রিপ্টটি আপনার ফাইলে পরিবর্তিত স্প্রেডশিট সামগ্রীটি পেস্ট করতে xsel (একটি হালকা কমন্ড-লাইন ক্লিপবোর্ড পরিচালক) এর উপর নির্ভর করে। যদি সোর্স করা হয় (চালানো হয় না), এই স্ক্রিপ্টটি আপনাকে দুটি ফাংশনে অ্যাক্সেস দেয়, gnu ফাইলটিতে ফাইল খুলতে:

gn filename

এবং জিপি ফাইলগুলিতে ফিরে পেস্ট করতে এবং gnumeric বন্ধ করুন:

gp

(ব্যক্তিগতভাবে, আমি যখনই কোনও টার্মিনাল খুলি তখন gn এবং gp ফাংশন উপলব্ধ রাখতে আমার .bashrc এ এই স্ক্রিপ্টটি উত্পন্ন করি))

#! /bin/bash

# once sourced by the shell, this script provides two functions:

# gn        to open a file with gnumeric
# gp        to update the file with gnumeric's selection

# requires grep, sed, awk, and the xsel utility


# name of the target file: used in gn () and gp ()
# ==================================================
gn_file=

# take note of target file and open it with gnumeric if not already opened
# ==================================================
gn () {
    # sanity checks
    if [[ -z $1 ]]; then
        echo 'Usage: gn file'
        return
    fi
    if ! [[ -f $1 && -r $1 ]]; then
        echo "Cannot find/use $1"
        return
    fi
    # yes, this is right; job report, if any, has "$gn_file" not expanded
    if jobs -l | grep 'Running.* gnumeric "$gn_file"' > /dev/null; then
        echo 'Already editing with gnumeric.'
        return
    fi
    echo 'Once done, select the part of the spreadsheet you want to save,'
    echo 'press Ctrl-C, go back to the command line, and type gp [ENTER].'
    # do the job
    gn_file=$1
    gnumeric "$gn_file" &
}

# paste selection into target file and close gnumeric
# ==================================================
gp () {
    # sanity checks
    if [[ -z $gn_file || ! -f $gn_file ]]; then
        echo 'Cannot find/use target file.'
        return
    fi
    local gnumeric_job=$( jobs -l | grep 'Running.* gnumeric "$gn_file"' )
    if [[ -z $gnumeric_job ]]; then
        echo 'No gnumeric instance to paste from.'
        return
    fi
    if [[ -z $( xsel -ob ) ]]; then
        echo 'Nothing to paste.'
        return
    fi
    local temp_file=$( mktemp "$PWD/temp.XXXXXX" )
    # paste X selection (o = output, b = clipboard mode)
    xsel -ob > "$temp_file"
    # replace tabs to get a CSV file
    local tab=$'\t'
    sed --in-place "s/$tab/,/g" "$temp_file"
    # must close gnumeric before updating file
    local job_id=$( echo "$gnumeric_job" | awk '{print $2}' )
    kill "$job_id"
    mv --backup "$temp_file" "$gn_file"
    echo "$gn_file updated."
}

যেমন স্ক্রিপ্টটি আপনাকে জান্নাতু দিয়ে আপনার ফাইলটি খোলার সময় বলে দেবে, আপনি যখন আপনার সম্পাদনাটি সম্পন্ন করবেন, আপনাকে অবশ্যই সিআরটি-সি চাপার আগে যে স্প্রেডশিটটি সংরক্ষণ করতে চান সেটি নির্বাচন করতে হবে (ক্লিপবোর্ডে এই অংশটি অনুলিপি করতে)। কমান্ড লাইনে ফিরে যেতে হবে (আল্ট-ট্যাব), জিপি প্রবেশ করানো আপনার ফাইলটি ক্লিপবোর্ডের সামগ্রী এবং বন্ধ জিনমিকের সাথে আপডেট করবে। আপনার পরিবর্তিত মানগুলির চারপাশে কোট থাকবে না, তবে সেগুলি ট্যাব দ্বারা পৃথক করা হবে; সুতরাং, স্ক্রিপ্টটি কমা দ্বারা ট্যাবগুলি প্রতিস্থাপনের জন্য সেড ব্যবহার করে।

আমি এটি কমান্ড লাইন থেকে সিএসভি ডেটা ফাইলগুলিতে কাজ করার একটি কার্যকর উপায় হিসাবে পেয়েছি। স্ক্রিপ্টটি ফাইলটি সঠিকভাবে সংরক্ষণ করতে হবে যতক্ষণ না এটিতে কমা-বিচ্ছিন্ন ক্ষেত্রগুলির মধ্যে ট্যাব থাকে না (যা আপনার ডেটা-বিশ্লেষণ উদাহরণে মনে হয়)।


1

আমি জানি আপনি {লিবার, ওপেন} অফিস সম্পর্কে কী বোঝাতে চাইছেন। টিবিএইচ, আমি লিনাক্সের পক্ষে খুব ভাল এমন কোনও কিছুই পাইনি যা ওজনও কম।

"সেরা" (হ্যাঁ, আইরোনিক উদ্ধৃতিগুলিতে) আমি এ পর্যন্ত খুঁজে পেয়েছি csveditor নামক একটি জাভা অ্যাপ্লিকেশন এটি খুব পরিষ্কার, তবে সত্যই সেরা ইউআই নির্দেশিকাগুলি অনুসরণ করে না।



0

আমি পিএইচপিস্টর্ম ব্যবহার করছি এবং সিএসভি ফাইলগুলিকে প্রচুর পরিমাণে মোকাবেলা করতে হবে, এবং এটি তাদের একটি টেবিল ভিউতে সম্পাদনা করা সমর্থন করে এবং এটি ভিআইএম প্লাগইন csv.vim বা পরমাণু প্লাগইন ট্যাবলারের চেয়ে অনেক ভাল সম্পাদন করে ।

টেবিল দৃশ্যের স্ক্রিনশট

এটি তাদের অন্যান্য সম্পাদক, যেমন ইন্টেলিজ আইডিয়া, অ্যান্ড্রয়েড স্টুডিও, পাইচার্ম এবং রুবিমিনে প্রয়োগ করা উচিত। এটি নিখরচায় সফ্টওয়্যার নয়, তবুও তাদের কয়েকটি পণ্যের সম্প্রদায়ের সংস্করণ রয়েছে।

(তবুও এটি সিলে নিখুঁত নয় যেমন কখনও কখনও এটি কেবল ফাইলগুলিকে খুব বড় ত্রুটি দেখায়))



-1

আমি আপনার উদাহরণটি টেস্ট.সিএসভি হিসাবে সংরক্ষণ করেছি এবং এটি কোনও ঝামেলা ছাড়াই লিবারঅফিসে এটি খুললাম:

$ cat test.csv
This,is,data,with,a,header
2,2,3,4,,
1,,3,,6,6
,5,3,5,5,6
1,2,,,,
1,2,3,4,8,6
1,,9,,5,9
-1,,3,4,5,6
1,2,0,4,5,6
$ libreoffice test.csv 

আমি তখন এই সংলাপটি পেয়েছি এবং বিভাজক হিসাবে "কমা" বেছে নিয়েছি:

এখানে চিত্র বর্ণনা লিখুন

আমি ওকে ক্লিক করেছি এবং এটি পেয়েছি:

এখানে চিত্র বর্ণনা লিখুন

আপনার আর কী দরকার?


ওপেনঅফিসের সাথে আমার যে সমস্যাটি হচ্ছে তা হ'ল কখনও কখনও বিভাজক বিকল্পগুলি বিনা নোটিশ ছাড়াই পরিবর্তিত হয় এবং ফাইলটি উদ্ধৃতি ডিলিমিটারের সাহায্যে সংরক্ষিত হয়ে যায় (ওও মনে হয় ডিফল্টের জন্য বলপূর্বক অভাব রয়েছে)। এটা আরো ঘটে যখন একটি ফাইল খুঁজে সংরক্ষণ বদলে একটি ফাইল লোড।
অ্যান্ড্রু কাঠ

যদিও আপনি ঠিক বলেছেন ওপেন অফিসের মাধ্যমে এটি অবশ্যই সম্ভব।
অ্যান্ড্রু উড

1
যতদূর "আপনার আরও কী প্রয়োজন", আমি @ অ্যান্ড্রুউডের পরিস্থিতিতে ছিলাম এবং সাধারণত কম প্রয়োজন :) আমি ব্যক্তিগতভাবে এই প্রশ্নটি আগে জিজ্ঞাসা করেছি। আমি LibreOffice ভালবাসি। আমি সব সময় এটি ব্যবহার করি। তবে কখনও কখনও আপনি একটি সাধারণ সিএসভি সম্পাদক চান যা প্রচুর পরিমাণে র‌্যাম নেয় না এবং কেবল আপনার পথ থেকে দূরে থাকে।
ধনী হোমোলকা

@ রিচ হোমলকা, আপনাকে সত্যি কথা বলতে আমি ব্যবহার করি gawk:)
টেরডন

কর্মক্ষমতা. যখন CSv কিছুটা বড় হয়ে যায়, কেবল সেগুলি লোড করা চিরকালের জন্য নেয় এবং আমি ওপেন অফিসের মধ্যে এই জাতীয় ফাইলগুলি সম্পাদনা করার চেষ্টাও করি না।
k0pernikus
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.