লিনাক্স কমান্ড-লাইন ব্যবহার করে আমি কীভাবে স্প্রেডশিটের শীটনামগুলি মুদ্রণ করতে পারি?


11

আমি in2csvএকটি নির্দিষ্ট ওয়ার্কশিটটিকে .csv হিসাবে সংরক্ষণ করার জন্য ব্যবহার সম্পর্কে সচেতন :

in2csv --sheet "sheet name" file1.xls > sheet-name.csv

তবে কেবল শীটনামগুলি মুদ্রণের জন্য কি অন্য কোনও সরঞ্জাম রয়েছে?

পার্লের সাথে কি বিকল্প আছে?

উত্তর:


12

in2csvথেকে csvkitপ্যাকেজ উপলব্ধ --namesবা -nযে জন্য বিকল্প: [ উত্স ]

 -n, --names     Display sheet names from the input Excel file.

আপনার উদাহরণে আদেশটি হ'ল:

in2csv -n file1.xls

এই বৈশিষ্ট্যটি csvkit1.0.2 এ যুক্ত হয়েছিল , যা বায়োনিকের চেয়ে পুরানো রিলিজের জন্য অফিশিয়াল প্যাকেজ উত্স থেকে পাওয়া যায় না । আপনি যদি জেনিয়াল চালাচ্ছেন তবে আপনার প্রয়োজন হয়

  • উত্স থেকে প্রোগ্রামটি সংকলন করুন বা
  • এটি pipদিয়ে ইনস্টল করুন

    sudo pip install csvkit
    

সর্বশেষ সংস্করণ পেতে।


আমি এই উত্তরটি গ্রহণ করতাম তবে আমার কাছে বিকল্পটির in2csvঅভাবের সংস্করণ রয়েছে turns -nঅদ্ভুত, কীভাবে সাম্প্রতিকটি পাবেন তা সন্ধান করার চেষ্টা করছেন তবে সিএসভিকিট নিয়ে সমস্যা হচ্ছে এবং পুরানো মুছে ফেলুন in2csv... দীর্ঘশ্বাস
— ফেলুন

2
আমি শুধু সঙ্গে এটি অপসারণ চাই sudo apt remove python3-csvkitএবং ইনস্টল নতুন একটি, বিশেষ করে থেকে packages.ubuntu.com থেকে অন্য, অথবা github.com/wireservice/csvkit/tree/1.0.2 । বৈশিষ্ট্যটি এই প্রতিশ্রুতিবদ্ধ “1.0.2” ট্যাগ সহ প্রবর্তিত হয়েছিল , সুতরাং যে কোনও সংস্করণে এই বিকল্পটি থাকা উচিত।
— মিষ্টান্ন

দুর্ভাগ্যক্রমে এটি মনে হয় যে প্যাকেজভুক্ত সংস্করণগুলির কোনওটিই এই সংস্করণ নম্বরটিতে পৌঁছেছে না, সুতরাং গিথুব থেকে উত্সটি সংকলন করা একমাত্র উপায় বলে মনে হয় - এই ক্ষেত্রে, আমি প্যাকেজ সংস্করণটি আনইনস্টল করব না তবে কেবল তার নামের একটি মোড়ক ফাংশন লিখব in2csvthat বিকল্পগুলির সাথে এবং স্বাভাবিক হিসাবে অন্য কোনও /path/to/new/in2csvক্ষেত্রে কল করা হয় । -n/usr/bin/in2csv
— মিষ্টান্ন

1
ঠিক আছে. আমি sudo apt remove python3-csvkitনতুনটি ব্যবহার করেছি , ইনস্টল করেছি এবং এটি কাজ করে। মোড়ক ফাংশন হ্যাঁ খুব দরকারী!
— চতুর্থ

8

in2csvএটি সহজ বিকল্প, তবে কারওর পক্ষে এটির দরকারী মনে হলে আমি এটি ছেড়ে দেব। xlhtmlএক্সএলএস ফাইলগুলিকে এইচটিএমএল বা এক্সএমএলে রূপান্তর করার জন্য একটি দুর্দান্ত কমান্ড রয়েছে । এবং একবার আপনার এক্সএমএল হয়ে গেলে, বিভিন্ন এক্সএমএল প্রসেসিং সরঞ্জামগুলি এর উপর বিভিন্ন ধরণের প্রশ্নগুলি করতে ব্যবহৃত হতে পারে। এক্ষেত্রে:

$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2

এক্সএমএল যা xlhtmlউত্পন্ন করে তা হ'ল:

<?xml version="1.0" encoding="iso-8859-1" ?>
<excel_workbook>
    <sheets>
        <sheet>
            <page>0</page>
            <pagetitle>Sheet1</pagetitle>
            <firstrow>0</firstrow>
            <lastrow>11</lastrow>
            <firstcol>0</firstcol>
            <lastcol>0</lastcol>

সুতরাং, শীটের নামগুলির জন্য, আমরা pagetitleনোডগুলি জিজ্ঞাসা করতে পারি , যার জন্য আমি ব্যবহার করেছিxmlstarlet ।


এটি 16.04 জেনিয়ালের জন্য উপলব্ধ নয়। আপনার উত্তরে এটি যুক্ত করতে কি দরকারী?
— চতুর্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.