क्या कोई रास्ता है, आदर्श रूप से कमांड लाइन का उपयोग करके, एक से अधिक .csv फ़ाइलों को एक मल्टी-शीट .xls स्प्रेडशीट में बदलने के लिए?


14

क्या कोई रास्ता है, आदर्श रूप से कमांड लाइन का उपयोग करके, एक से अधिक .csv फ़ाइलों को एक मल्टी-शीट .xls स्प्रेडशीट में बदलने के लिए?

अगर कोई क्ली सॉल्यूशन नहीं है, तो यह जानना अच्छा होगा कि क्या कोई एपीआई है जो आदर्श रूप में काम करता है, आदर्श रूप से, awk या पास्कल, लेकिन, असफल होने पर, बहुत अच्छी तरह से कुछ भी करने में।


मेसक्स द्वारा उल्लिखित ssconvert, ग्नुमेरिक का एक साथी कमांड है, जो डिफ़ॉल्ट रूप से उबंटू डेस्कटॉप सिस्टम पर स्थापित किया जाएगा, लेकिन सर्वर संस्करण पर नहीं।
एरोनिकल

तथ्य को देखते हुए एक्सेल CSV को एक .xlsफाइल में लोड कर देगा जिसे आप बस कर सकते हैं:cat *.csv > file.xls
ash

कोशिश यह
Lety

1
ssconvert पूरी तरह से ट्रिक करता है। जो मुझे चाहिए वह था एक अलग शीट में प्रत्येक .csv फ़ाइल। बिल्ली का उपयोग करने से वह हासिल नहीं होता है। ssconvert करता है।
पीटर ब्रूक्स

@ash csv और xls अलग-अलग प्रारूप हैं, एक फ़ाइल में csvs का एक समूह बनाना और इसे xls का नाम देना बिल्कुल भी नहीं है, क्योंकि csvs कई शीटों का समर्थन नहीं करते हैं, इसलिए यह सिर्फ एक लंबी सीएसवी बनाएगा, और चूंकि csv एक सादा प्रारूप है, जबकि xls एक द्विआधारी प्रारूप है
chiliNUT

जवाबों:


16

आप कमांड ssconvert का उपयोग कर सकते हैं ।

ssconvert example.csv example.xls

कई फ़ाइलों के लिए ऐसा करने के लिए आपको सीएसवी फ़ाइलों पर एक बैश लूप बनाना होगा और काम करना होगा। यहाँ एक संकेत है:

for i in *.csv; do ssconvert "$i" "${i%.*}".xls; done

संपादित करें:

परिवर्तित करने और एक एकल xls फ़ाइल में विलय करने के लिए भी आप अभी भी ssconvert का उपयोग कर सकते हैं।

ssconvert --merge-to=output.xls file1.csv file2.csv ....

या आसानी से

ssconvert --merge-to=output.xls *.csv 

1
चर को उद्धृत करना महत्वपूर्ण है, जैसा कि "$i" "${i%.*}".xls, अन्यथा किसी भी फ़ाइल नाम से युक्त स्थान कमांड को तोड़ देगा (और संभवतः एक असंबंधित फ़ाइल को अधिलेखित कर सकता है)।
धान लैंडौ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.