ฉันกำลังมองหาวิธีแปลงไดเรกทอรีของไฟล์. csv ให้เป็นรูปแบบ. xls หรือ. xlsx อย่างรวดเร็ว (น่าจะดีถ้าฉันสามารถทำ / หรือ)
มีวิธีง่าย ๆ ในการทำเช่นนี้หรือฉันจำเป็นต้องติดตั้งโปรแกรมของ บริษัท อื่นหรือไม่?
ฉันกำลังมองหาวิธีแปลงไดเรกทอรีของไฟล์. csv ให้เป็นรูปแบบ. xls หรือ. xlsx อย่างรวดเร็ว (น่าจะดีถ้าฉันสามารถทำ / หรือ)
มีวิธีง่าย ๆ ในการทำเช่นนี้หรือฉันจำเป็นต้องติดตั้งโปรแกรมของ บริษัท อื่นหรือไม่?
คำตอบ:
สมมติว่าคุณชอบและมี Python (ด้วยเหตุผลบางอย่าง) คุณสามารถใช้สคริปต์นี้ที่ฉันทำขึ้น:
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')
วิ่งเข้าไปในไดเรกทอรีพร้อมไฟล์ CSV ทั้งหมดมันจะแปลงไฟล์ทั้งหมดและตบ ".xls" ไปยังจุดสิ้นสุด
สำหรับ Excel 2007+ (ไฟล์ xlsx) รองรับสูงสุดประมาณ 1 Mrows:
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')
นี่คือสคริปต์ Perl ที่คาดคะเนได้ แต่ดูเหมือนว่าจะมีหลายอย่างที่ต้องทำบางสิ่งที่ได้สร้างไว้ใน Excel แล้ว
คำถามของคุณมีจำนวนมากที่ยังไม่ได้รับคำตอบ
สมมติว่าไฟล์ CVS ของคุณอยู่ในโครงสร้างไดเรกทอรีคล้ายกับ
c:\randompath\CSV\
a.csv
b.csv
c.csv
:
:
z.csv
และคุณต้องการที่จะจบลงด้วย
c:\randompath\XLS\
a.xls
b.xls
c.xls
:
:
z.xls
ฉันสามารถนึกถึงสามเส้นทางที่จะไปขึ้นอยู่กับอัตราส่วนของงานที่ต้องทำล่วงหน้าเพื่อทำความสะอาดงานที่คุณเต็มใจทำ
โปรดทราบว่าฉันยังไม่ได้เขียนรหัสใด ๆ เพื่อทำสิ่งเหล่านี้ (ยัง) ฉันแค่เสนอแนวคิดสำหรับจุดเริ่มต้น บางทีหากคุณสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่คุณต้องการคุณสามารถรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีจัดการกับวิธีการจากฉันหรือสมาชิกฟอรัมอื่น
สำหรับ Windows? CoolUtils " Total CSV Converter " เวอร์ชั่นบรรทัดคำสั่งรองรับรูปแบบเอาต์พุตจำนวนมากรวมถึง JSON, Access, DBF, XML และ SQLและมีเพียง $ 40 สามารถเรียกคืนไดเรกทอรีย่อยลบไฟล์ CSV ดั้งเดิมรวมไฟล์ทั้งหมดไว้ในเอกสารเดียวและอีกมากมาย
http://www.coolutils.com/TotalCSVConverter
CSVConverter.exe <source> <destination> <options>
" Advanced CSV Converter " ($ 40-200) เป็น EXE แบบพกพาที่สามารถทำได้อย่างรวดเร็วโดยไม่ต้องติดตั้ง Excel
http://www.dbf2002.com/csv-converter/commandline.html
"c:\Program Files\CSV Converter\csvcnv.exe" c:\base\*.csv c:\exports\ /TOXLSX /SRCHDR
SoftInterface ของ " Convert XLS " สามารถใช้ Excel (แต่ไม่จำเป็น) และมีราคาแพงกว่า ($ 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
" Gnumeric " เป็นโปรแกรมสเปรดชีตโอเพนซอร์ซที่สามารถทำการแปลงโดยตรง แต่มันถูกยกเลิกสำหรับ Windows ในเดือนสิงหาคม 2014
ssconvert file.csv file.xlsx
หากคุณติดตั้ง Python ไว้ " csv2odf " เป็นตัวเลือกโอเพนซอร์ซและใช้วิธีการ templated ในการสร้างไฟล์ ods, odt, html, xlsx หรือ docx
http://sourceforge.net/projects/csv2odf/
csv2odf data.csv template.odt output.xlsx
ด้วยโหนด 8+ และทุบตี:
npm install -g pguardiario/csv2xlsx
for file in *.csv; do csv2xlsx "$file"; done
วิธีที่ง่าย: เปิดไฟล์ csv ของคุณจาก Microsoft Excel, แปลงข้อความเป็นคอลัมน์ (เลือกเซลล์ / ข้อความ, คลิกเมนู - ข้อมูล - ข้อความเป็นคอลัมน์) ตั้งค่าตัวเลือกของคุณเพื่อแปลง