.Csv .xls / xlsx এ কীভাবে ব্যাচ রূপান্তর করা যায়


11

আমি .csv ফাইলের ডিরেক্টরিটিকে দ্রুত .xls বা .xlsx ফর্ম্যাটে রূপান্তর করার জন্য একটি উপায় খুঁজছি (যদি আমি / অথবা না করতে পারি তবে ভাল হবে)।

এটি করার কোনও সহজ উপায় আছে বা তৃতীয় পক্ষের প্রোগ্রাম ইনস্টল করার দরকার আছে কি?


1
আপনার কেন এটি করতে হবে তা নিশ্চিত নয়। এক্সেল এ সিএসভির ওপেন ওয়েল well কথোপকথনের জন্য যে কেউ প্রয়োজন তা কেবল ইস্যু ছাড়াই খুলতে পারে।
জোডি

2
আপনি ঠিক আছেন এক্সেল সিএসভি এবং এক্সএলএস / এক্সএলএক্সএক্স ঠিক খোলায়। অন্যান্য প্রোগ্রামগুলি অবশ্য তা করে না। =)
মাইন্ডলেস.পান্ডা

1
সুতরাং আপনি কি প্রোগ্রাম এটি ব্যবহার করতে খুঁজছেন?
কির্ক

উত্তর:


21

ধরে নিচ্ছি আপনার পাইথন রয়েছে এবং পাইথন রয়েছে (কোনও কারণে), আপনি এই স্ক্রিপ্টটি ব্যবহার করতে পারলাম আমি বেত্রাঘাত:

import os
import glob
import csv
import xlwt # from http://www.python-excel.org/

for csvfile in glob.glob(os.path.join('.', '*.csv')):
    wb = xlwt.Workbook()
    ws = wb.add_sheet('data')
    with open(csvfile, 'rb') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader):
            for c, val in enumerate(row):
                ws.write(r, c, val)
    wb.save(csvfile + '.xls')

সমস্ত সিএসভি ফাইল সহ ডিরেক্টরিতে দৌড়ান, এটি তাদের সমস্তকে রূপান্তরিত করবে এবং একটি ".xls" টিপবে।

এক্সেল 2007+ (xlsx ফাইল) এর জন্য প্রায় 1 টি মরোজ সমর্থন করে:

import os
import glob
import csv
import openpyxl # from https://pythonhosted.org/openpyxl/ or PyPI (e.g. via pip)

for csvfile in glob.glob(os.path.join('.', '*.csv')):
    wb = openpyxl.Workbook()
    ws = wb.active
    with open(csvfile, 'rb') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader, start=1):
            for c, val in enumerate(row, start=1):
                ws.cell(row=r, column=c).value = val
    wb.save(csvfile + '.xlsx')

2
একটি ম্যাকিনটোস-এ, আমি উপরে xlsx সংস্করণ ব্যবহার করেছি। পাইথন থেকে "ইউনিভার্সাল-নিউলাইন মোড" ত্রুটিটি পেতে আমাকে "আরবি" পরিবর্তন করে "আরউ" করতে হয়েছিল। "গণিতে সারি" এবং "ভ্যাল ইন ইনুমারিতে" জন্য "শুরু = 1" ব্যবহার করে উপরে একটি ফাঁকা সারি এবং প্রকৃত ডেটার বাম ফাঁকা কলাম তৈরি করা হয়েছে। আমি উভয়কে "শুরু = 0" এ পরিবর্তন করেছি, যা স্প্রেডশিটের (এক্সেল 2011) সেল এ 1 (উপরের বাম) ডেটা শুরু করেছিল। ফাইলের .csv অংশটি (যেমন, nnnn.csv.xlsx) কে nnnn এ সরানোর জন্য আমি শেষ লাইনটি "wb.save (os.path.splitext (csvfile) [0] + '.xlsx')" এ পরিবর্তন করেছি। XLSX)।
মাইকেল এস টেলর

1

এখানে একটি পার্ল স্ক্রিপ্ট রয়েছে যা অনুমিতভাবে এটি করা হয় তবে এটি এমন কিছু কাজ করার মতো মনে হয় যা ইতিমধ্যে এক্সেলের মধ্যে অন্তর্ভুক্ত।


1

আপনার প্রশ্নে অনেক অপরিশোধিত রয়েছে।

ধরে নিচ্ছি যে আপনার সিভিএস ফাইলগুলি অনুরূপ ডিরেক্টরি কাঠামোতে রয়েছে

c:\randompath\CSV\
    a.csv
    b.csv
    c.csv
      :
      :
    z.csv

এবং আপনি শেষ করতে চান

c:\randompath\XLS\
    a.xls
    b.xls
    c.xls
      :
      :
    z.xls

আপনি করতে ইচ্ছুক ক্লিন-আপ কাজের আপফ্রন্ট কাজের অনুপাতের উপর নির্ভর করে আমি যেতে তিনটি রুটের কথা ভাবতে পারি।

  1. কোনও প্রাকোডিং নেই: সিএসভি ফাইলগুলিতে নেভিগেট করতে উইন্ডোজ এক্সপ্লোরার ব্যবহার করুন ফাইল রূপান্তর করার জন্য যে জাতীয় পদ্ধতিতে সবচেয়ে ভাল কাজ করে তা ব্যবহার করুন (লাসো, সিটিআরএল + এ, সিআরটিএল + ক্লিক, শিফট + ক্লিক) তারপরে নির্বাচিত ফাইলগুলির মধ্যে একটিতে ডান ক্লিক করুন এবং ক্লিক করুন খুলুন। এটি এক্সেলের সমস্ত ফাইল খুলবে। তারপরে প্রতিটি ফাইলের জন্য আপনি "ফাইল" এবং "হিসাবে সংরক্ষণ করুন" নির্বাচন করতে পারেন এবং শেষ পর্যন্ত আপনি যে নতুন ফাইল ফর্ম্যাটটি সংরক্ষণ করতে চান তা চয়ন করতে পারেন।
  2. একটি সাধারণ ব্যাচের ফাইল: সেই ব্যাচ ফাইলটি আপনার জন্য প্রতিটি সিএসভি ফাইল খোলার জন্য প্রতিটি লুপ কাঠামোর জন্য ওয়াইল্ড কার্ড এবং / অথবা একটি ব্যবহার করতে পারে এবং তারপরে আপনি ম্যানুয়ালি তাদের আগের মতো প্রক্রিয়া করতে পারেন।
  3. একটি এক্সেল স্প্রেডশিটের মধ্যে একটি ভিবিএ প্রোগ্রাম তৈরি করুন: ভিবিএ প্রতিটি সিএসভি ফাইল স্বয়ংক্রিয়ভাবে খুলতে পারে এবং তারপরে এটি একটি এক্সেল ফর্ম্যাটে সংরক্ষণ করে। এমনকি আপনি একটি সাধারণ বার্তা বাক্স যুক্ত করতে পারেন যা প্রতিটি ফাইল খোলার সাথে সাথে xls বা xlsx এর একটি পছন্দ দেয় either

দ্রষ্টব্য যে আমি এই জিনিসগুলি করার জন্য কোনও কোড লিখি নি (এখনও) আমি কেবল একটি প্রাথমিক পয়েন্টের জন্য আইডিয়া দিচ্ছি। আপনি যদি চান তা সম্পর্কে আরও বিশদ দিতে পারলে আমার বা ফোরামের কোনও সদস্যের কাছ থেকে কীভাবে যোগাযোগ করা যায় তার জন্য আপনি আরও বিস্তারিত ব্যাখ্যা পেতে পারেন।


0

উইন্ডোজের জন্য? কুল ইউটিলস " টোটাল সিএসভি রূপান্তরকারী " কমান্ড লাইন সংস্করণটি জেএসএন , অ্যাক্সেস, ডিবিএফ, এক্সএমএল এবং এসকিউএল সহ অনেকগুলি আউটপুট ফর্ম্যাটগুলিকে সমর্থন করে এবং এটি কেবলমাত্র 40 ডলার। এটি উপ-ডিরেক্টরিগুলি পুনরাবৃত্তি করতে পারে, মূল সিএসভি ফাইলগুলি মুছতে পারে, সমস্ত ফাইলকে একটি নথিতে একত্রিত করতে পারে এবং আরও অনেক কিছু করতে পারে।

http://www.coolutils.com/TotalCSVConverter

CSVConverter.exe <source> <destination> <options>

" অ্যাডভান্সড সিএসভি রূপান্তরকারী " ($ 40-200) একটি বহনযোগ্য EXE যা দ্রুত এবং এক্সেল ইনস্টল না করেই এটি করতে পারে।

http://www.dbf2002.com/csv-converter/commandline.html

"c:\Program Files\CSV Converter\csvcnv.exe" c:\base\*.csv c:\exports\ /TOXLSX /SRCHDR

সফটইনটারফেসের " কনভার্ট এক্সএলএস " এক্সেল ব্যবহার করতে পারে (তবে প্রয়োজন হয় না) এবং এটি আরও ব্যয়বহুল ($ 500 +) করে তবে আরও ফর্ম্যাট সমর্থন করে এবং আরও বিকল্প রয়েছে।

http://www.softinterface.com/Convert-XLS/Convert-XLS.htm

"c:\Program Files (x86)\Softinterface, Inc\Convert XLS\ConvertXLS.exe" /V /S"c:\base\*.csv" /T"c:\exports\*.xlsx" /F6 /C51 /M2

" জ্ঞানুমারিক " একটি ওপেন-সোর্স স্প্রেডশিট প্রোগ্রাম যা সরাসরি রূপান্তর সম্পাদন করতে পারে তবে উইন্ডোজের জন্য অগস্ট 2014 এ এটি বন্ধ করে দেওয়া হয়েছিল।

http://www.gnumeric.org/

ssconvert file.csv file.xlsx

যদি আপনি পাইথন ইনস্টল করে থাকেন তবে " csv2odf " একটি ওপেন-সোর্স বিকল্প এবং ওডস , ওজেড , এইচটিএমএল, এক্সএলএক্সএক্স বা ডকএক্স ফাইলগুলি তৈরি করতে একটি টেম্প্লেটেড পদ্ধতির ব্যবহার করে।

http://sourceforge.net/projects/csv2odf/

csv2odf data.csv template.odt output.xlsx

0

নোড 8+ এবং ব্যাশ সহ:

npm install -g pguardiario/csv2xlsx

for file in *.csv; do csv2xlsx "$file"; done

-1

সহজ উপায়: মাইক্রোসফ্ট এক্সেল থেকে আপনার সিএসভি ফাইলটি খুলুন, পাঠ্যকে কলামগুলিতে রূপান্তর করুন (ঘর / পাঠ্য নির্বাচন করুন, মেনু - ডেটা - পাঠ্যগুলিতে কলামগুলিতে ক্লিক করুন) রূপান্তর করার জন্য আপনার বিকল্প সেট করে।

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