Tôi sẽ sử dụng XLRD - nó nhanh hơn, nền tảng chéo và hoạt động trực tiếp với tệp.
Tính đến phiên bản 0.8.0,
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
2 đọc cả hai tệp XLS và XLSX.Nhưng kể từ phiên bản 2.0.0, hỗ trợ đã được giảm trở lại chỉ XLS.only XLS.
import xlrd
import csv
def csv_from_excel[]:
wb = xlrd.open_workbook['your_workbook.xls']
sh = wb.sheet_by_name['Sheet1']
your_csv_file = open['your_csv_file.csv', 'wb']
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[sh.nrows]:
wr.writerow[sh.row_values[rownum]]
your_csv_file.close[]
Tomerikoo
16.8K15 Huy hiệu vàng38 Huy hiệu bạc57 Huy hiệu đồng15 gold badges38 silver badges57 bronze badges
Đã trả lời ngày 27 tháng 3 năm 2012 lúc 6:43Mar 27, 2012 at 6:43
7
Tôi sẽ sử dụng
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
3. Các bộ phận nặng về mặt tính toán được viết bằng Cython hoặc C-Extensions để tăng tốc quá trình và cú pháp rất sạch sẽ. Ví dụ: nếu bạn muốn biến "Sheet1" từ tệp "your_workbook.xls" thành tệp "your_csv.csv", bạn chỉ cần sử dụng hàm cấp cao nhất # -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
4 và phương thức # -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
5 từ lớp # -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
6 như sau:import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
Cài đặt
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
7 làm giảm bớt # -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
8 được đề cập trong các câu trả lời khác.Đã trả lời ngày 1 tháng 10 năm 2014 lúc 17:01Oct 1, 2014 at 17:01
PhilephilephilE
1.57514 Huy hiệu bạc20 Huy hiệu đồng14 silver badges20 bronze badges
3
Có thể ai đó thấy đoạn mã sẵn sàng sử dụng này hữu ích. Nó cho phép tạo CSV từ tất cả các bảng tính trong sổ làm việc của Excel.
Python 2:
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
Python 3:
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
Hendrik
3836 Huy hiệu bạc16 Huy hiệu Đồng6 silver badges16 bronze badges
Đã trả lời ngày 16 tháng 9 năm 2013 lúc 20:57Sep 16, 2013 at 20:57
Andilabsandilabsandilabs
21.3K14 Huy hiệu vàng112 Huy hiệu bạc147 Huy hiệu đồng14 gold badges112 silver badges147 bronze badges
5
Tôi sẽ sử dụng CSVKIT, sử dụng XLRD [cho XLS] và OpenPyXL [cho XLSX] để chuyển đổi bất kỳ dữ liệu bảng nào thành CSV.
Sau khi được cài đặt, với các phụ thuộc của nó, đó là một vấn đề:
python in2csv myfile > myoutput.csv
Nó chăm sóc tất cả các vấn đề phát hiện định dạng, vì vậy bạn có thể vượt qua nó về bất kỳ nguồn dữ liệu dạng bảng nào. Đó là nền tảng chéo quá [không phụ thuộc Win32].
Beroe
11.3k4 Huy hiệu vàng33 Huy hiệu bạc79 Huy hiệu đồng4 gold badges33 silver badges79 bronze badges
Đã trả lời ngày 27 tháng 3 năm 2012 lúc 8:42Mar 27, 2012 at 8:42
Wombatwombatwombat
2291 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges
1
Trước tiên, hãy đọc bảng tính Excel của bạn vào Pandas, mã bên dưới sẽ nhập bảng tính Excel của bạn vào Pandas dưới dạng loại đặt hàng có chứa tất cả bảng tính của bạn dưới dạng DataFrames. Sau đó, chỉ cần sử dụng bảng tính_name làm khóa để truy cập bảng tính cụ thể dưới dạng dataFrame và chỉ lưu bảng tính cần thiết dưới dạng tệp CSV bằng cách sử dụng df.to_csv []. Hy vọng điều này sẽ tập luyện trong trường hợp của bạn.
import pandas as pd
df = pd.read_excel['YourExcel.xlsx', sheet_name=None]
df['worksheet_name'].to_csv['YourCsv.csv']
Nếu tệp Excel của bạn chỉ chứa một bảng tính thì chỉ cần sử dụng mã bên dưới:
import pandas as pd
df = pd.read_excel['YourExcel.xlsx']
df.to_csv['YourCsv.csv']
Nếu ai đó muốn chuyển đổi tất cả các bảng tính excel từ sổ làm việc excel đơn sang các tệp CSV khác nhau, hãy thử bên dưới mã:
import pandas as pd
def excelTOcsv[filename]:
df = pd.read_excel[filename, sheet_name=None]
for key, value in df.items[]:
return df[key].to_csv['%s.csv' %key]
Chức năng này đang hoạt động như một tờ Excel của cùng một sổ làm việc Excel sang nhiều trình chuyển đổi tệp CSV. Trong đó khóa là tên trang và giá trị là nội dung bên trong trang tính.
Đã trả lời ngày 1 tháng 8 năm 2019 lúc 17:52Aug 1, 2019 at 17:52
Ashu007Ashu007Ashu007
7271 Huy hiệu vàng9 Huy hiệu bạc13 Huy hiệu đồng1 gold badge9 silver badges13 bronze badges
@andi tôi đã kiểm tra mã của bạn, nó hoạt động rất tốt, nhưng
Trong tờ của tôi có một cột như thế này
2013-03-06T04:00:00
ngày và thời gian trong cùng một ô
Nó bị cắt bỏ trong quá trình xuất, nó giống như thế này trong tệp đã xuất
41275.0416667
Các cột khác là OK.
CSVKIT, ở phía bên kia, làm OK với cột đó nhưng chỉ xuất một tờ và các tệp của tôi có nhiều.
Đã trả lời ngày 20 tháng 1 năm 2015 lúc 19:00Jan 20, 2015 at 19:00
user1632812user1632812user1632812
3671 Huy hiệu bạc12 Huy hiệu đồng1 silver badge12 bronze badges
3
XLSX2CSV nhanh hơn gấu trúc và XLRD.faster than pandas and xlrd.
xlsx2csv -s 0 crunchbase_monthly_.xlsx cruchbase
Tệp Excel thường đi kèm với N SheetName.
-s is sheetname index.
Sau đó, thư mục Cruchbase sẽ được tạo, mỗi tờ thuộc XLSX sẽ được chuyển đổi thành một CSV duy nhất.
P.S. CSVKIT cũng tuyệt vời.
Đã trả lời ngày 2 tháng 11 năm 2016 lúc 5:50Nov 2, 2016 at 5:50
CodeFarmerCodeFarmerCodeFarmer
2.55622 huy hiệu bạc31 huy hiệu đồng22 silver badges31 bronze badges
0
Trích dẫn câu trả lời từ Scott Ming, hoạt động với sổ làm việc có chứa nhiều tờ:
Đây là một tập lệnh Python getSheet.py [gương], bạn nên cài đặt
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
3 và # -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
2 trước khi bạn sử dụng nó.Chạy cái này:
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
0Nó làm việc như thế nào?
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
1Chuyển đổi sang một số XLSX:
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
2Chuyển đổi sang một số CSV:
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
3import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
1:import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
4Đã trả lời ngày 25 tháng 1 năm 2018 lúc 3:27Jan 25, 2018 at 3:27
Chúng ta có thể sử dụng pandas lib của Python để liên kết tệp XLS sang tệp CSV bên dưới mã sẽ chuyển đổi tệp XLS thành tệp CSV. nhập khẩu gấu trúc dưới dạng PD
Đọc tệp excel từ đường dẫn cục bộ:
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
5Trang trí không gian có mặt trên các cột:
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
6Gửi khung dữ liệu đến tệp CSV sẽ là biểu tượng ống được phân tách và không có chỉ mục:
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
7
Pmerlet
2.5403 Huy hiệu vàng22 Huy hiệu bạc38 Huy hiệu Đồng3 gold badges22 silver badges38 bronze badges
Đã trả lời ngày 12 tháng 2 năm 2018 lúc 8:33Feb 12, 2018 at 8:33
RohitrohitRohit
6146 Huy hiệu bạc17 Huy hiệu đồng6 silver badges17 bronze badges
1
Python không phải là công cụ tốt nhất cho nhiệm vụ này. Tôi đã thử một số cách tiếp cận trong Python nhưng không ai trong số chúng hoạt động 100% [ví dụ: 10% chuyển đổi thành 0,1 hoặc các loại cột bị rối tung, v.v.]. Công cụ phù hợp ở đây là PowerShell, bởi vì nó là một sản phẩm MS [như Excel] và có sự tích hợp tốt nhất.
Chỉ cần tải xuống tập lệnh PowerShell này, chỉnh sửa dòng 47 để nhập đường dẫn cho thư mục chứa các tệp Excel và chạy tập lệnh bằng PowerShell.
Đã trả lời ngày 4 tháng 2 năm 2020 lúc 19:39Feb 4, 2020 at 19:39
LomaphlomaphLoMaPh
1.2362 huy hiệu vàng17 Huy hiệu bạc32 Huy hiệu đồng2 gold badges17 silver badges32 bronze badges
Sử dụng XLRD là một cách thiếu sót để làm điều này, bởi vì bạn mất các định dạng ngày trong Excel.
Trường hợp sử dụng của tôi là như sau.
Lấy một tệp Excel với nhiều hơn một tờ và chuyển đổi từng tệp thành một tệp của riêng nó.
Tôi đã thực hiện điều này bằng cách sử dụng thư viện XLSX2CSV và gọi cái này bằng cách sử dụng quy trình con.
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
8Đã trả lời ngày 13 tháng 11 năm 2016 lúc 19:45Nov 13, 2016 at 19:45
Tôi đã thử nghiệm tất cả các anwers, nhưng tất cả chúng đều quá chậm đối với tôi. Nếu bạn đã cài đặt Excel, bạn có thể sử dụng COM.
Tôi nghĩ ban đầu nó sẽ chậm hơn vì nó sẽ tải mọi thứ cho ứng dụng Excel thực tế, nhưng nó không phải là các tệp lớn. Có lẽ bởi vì thuật toán để mở và lưu các tệp chạy một mã được biên dịch tối ưu hóa rất nhiều, sau tất cả, Microsoft Guys kiếm được rất nhiều tiền.
import pandas as pd
data_xls = pd.read_excel['your_workbook.xls', 'Sheet1', index_col=None]
data_xls.to_csv['your_csv.csv', encoding='utf-8']
9Đây là mã rất thô và sẽ không kiểm tra lỗi, in trợ giúp hoặc bất cứ điều gì, nó sẽ chỉ tạo một tệp CSV cho mỗi tệp phù hợp với mẫu bạn đã nhập vào chức năng để bạn có thể xử lý rất nhiều tệp chỉ khởi chạy ứng dụng Excel Một lần.
Đã trả lời ngày 7 tháng 2 năm 2017 lúc 11:51Feb 7, 2017 at 11:51
Caiohamamuracaiohamamuracaiohamamura
2.07519 Huy hiệu bạc22 Huy hiệu đồng19 silver badges22 bronze badges
Tôi ghét dựa vào phần mềm độc quyền của Windows Excel, không phải là nền tảng chéo, thử nghiệm
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
2 của tôi cho .xls, sử dụng # -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
2 dưới mui xe, không thể phân tích chính xác ngày định dạng].Ví dụ: tệp XLS này, khi được phân tích cú pháp với
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
2, sẽ chuyển đổi ô import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
5 của import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
6 thành import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
7, trong khi khi được chuyển đổi thành CSV thông qua Excel -> save_as [sử dụng bên dưới] ô import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
5 sẽ là import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'w', encoding="utf-8"] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in range[worksheet.nrows]:
wr.writerow[worksheet.row_values[rownum]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
9.# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
0Trên đây sẽ có một
python in2csv myfile > myoutput.csv
0 chứa .xls và xuất chúng lên python in2csv myfile > myoutput.csv
1 dưới dạng .csv-nó sẽ python in2csv myfile > myoutput.csv
2 rằng có chính xác 1 tờ không trống trong .xls; Nếu bạn cần xử lý nhiều tờ thành nhiều CSV thì bạn sẽ cần chỉnh sửa python in2csv myfile > myoutput.csv
3.Đã trả lời ngày 7 tháng 4 năm 2019 lúc 19:19Apr 7, 2019 at 19:19
sam-6174sam-6174sam-6174
2.8361 Huy hiệu vàng29 Huy hiệu bạc33 Huy hiệu đồng1 gold badge29 silver badges33 bronze badges
Tôi đã cố gắng sử dụng thư viện
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
2 để chuyển đổi định dạng python in2csv myfile > myoutput.csv
5 thành python in2csv myfile > myoutput.csv
6, nhưng tôi đã gặp lỗi: python in2csv myfile > myoutput.csv
7. Điều đó đã xảy ra vì gói này không còn đọc bất kỳ định dạng nào khác trừ khi python in2csv myfile > myoutput.csv
8, theo tài liệu XLRD.Sau câu trả lời từ Chris Withers, tôi có thể thay đổi động cơ cho hàm
python in2csv myfile > myoutput.csv
9 từ # -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
3, sau đó tôi có thể tạo một hàm chuyển đổi bất kỳ trang tính nào từ bảng tính Excel của bạn mà bạn muốn thành công. Để hoạt động chức năng bên dưới, đừng quên cài đặt thư viện import pandas as pd
df = pd.read_excel['YourExcel.xlsx', sheet_name=None]
df['worksheet_name'].to_csv['YourCsv.csv']
1 từ đây.In order to work the function below, don't forget to install the
import pandas as pd
df = pd.read_excel['YourExcel.xlsx', sheet_name=None]
df['worksheet_name'].to_csv['YourCsv.csv']
1 library from here.Function:
# -*- coding: utf-8 -*-
import xlrd
import csv
from os import sys
def csv_from_excel[excel_file]:
workbook = xlrd.open_workbook[excel_file]
all_worksheets = workbook.sheet_names[]
for worksheet_name in all_worksheets:
worksheet = workbook.sheet_by_name[worksheet_name]
with open[u'{}.csv'.format[worksheet_name], 'wb'] as your_csv_file:
wr = csv.writer[your_csv_file, quoting=csv.QUOTE_ALL]
for rownum in xrange[worksheet.nrows]:
wr.writerow[[unicode[entry].encode["utf-8"] for entry in worksheet.row_values[rownum]]]
if __name__ == "__main__":
csv_from_excel[sys.argv[1]]
1Đã trả lời ngày 7 tháng 1 lúc 19:06Jan 7 at 19:06