python腳本實(shí)現(xiàn)xls(xlsx)轉(zhuǎn)成csv
# xls_csv
把xls,xlsx格式的文檔轉(zhuǎn)換成csv格式
# 使用
python xls2csv.py <xls or xlsx file path>
# -*- coding: utf-8 -*-
import xlrd
import xlwt
import sys
from datetime import date,datetime
def read_excel(filename):
workbook = xlrd.open_workbook(filename)
# print sheet2.name,sheet2.nrows,sheet2.ncols
sheet2 = workbook.sheet_by_index(0)
for row in xrange(0, sheet2.nrows):
rows = sheet2.row_values(row)
def _tostr(cell):
if type(u'') == type(cell):
return "\"%s\"" % cell.encode('utf8')
else:
return "\"%s\"" % str(cell)
print ','.join([_tostr(cell) for cell in rows ])
if __name__ == '__main__':
filename = sys.argv[1]
read_excel(filename)
再給大家分享一則代碼
xlsx文件解析處理:openpyxl庫(kù) csv文件格式生成:csv
python#coding: utf-8
# 依賴openpyxl庫(kù):http://openpyxl.readthedocs.org/en/latest/
from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.cell import get_column_letter
from openpyxl import load_workbook
import csv
import os
import sys
def xlsx2csv(filename):
try:
xlsx_file_reader = load_workbook(filename=filename)
for sheet in xlsx_file_reader.get_sheet_names():
# 每個(gè)sheet輸出到一個(gè)csv文件中,文件名用xlsx文件名和sheet名用'_'連接
csv_filename = '{xlsx}_{sheet}.csv'.format(
xlsx=os.path.splitext(filename.replace(' ', '_'))[0],
sheet=sheet.replace(' ', '_'))
csv_file = file(csv_filename, 'wb')
csv_file_writer = csv.writer(csv_file)
sheet_ranges = xlsx_file_reader[sheet]
for row in sheet_ranges.rows:
row_container = []
for cell in row:
if type(cell.value) == unicode:
row_container.append(cell.value.encode('utf-8'))
else:
row_container.append(str(cell.value))
csv_file_writer.writerow(row_container)
csv_file.close()
except Exception as e:
print(e)
if __name__ == '__main__':
if len(sys.argv) != 2:
print('usage: xlsx2csv <xlsx file name>')
else:
xlsx2csv(sys.argv[1])
sys.exit(0)
相關(guān)文章
Python的內(nèi)建模塊itertools的使用解析
這篇文章主要介紹了Python的內(nèi)建模塊itertools的使用解析,itertools是python的迭代器模塊,itertools提供的工具相當(dāng)高效且節(jié)省內(nèi)存,Python的內(nèi)建模塊itertools提供了非常有用的用于操作迭代對(duì)象的函數(shù),需要的朋友可以參考下2023-09-09
Python Web靜態(tài)服務(wù)器非堵塞模式實(shí)現(xiàn)方法示例
這篇文章主要介紹了Python Web靜態(tài)服務(wù)器非堵塞模式實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python單進(jìn)程非堵塞模式實(shí)現(xiàn)的Web靜態(tài)服務(wù)器相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
在Django中自定義filter并在template中的使用詳解
這篇文章主要介紹了在Django中自定義filter并在template中的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn)
這篇文章主要介紹了python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Python使用requirements.txt和pip打包批量安裝的實(shí)現(xiàn)
本文主要介紹了Python使用requirements.txt和pip打包批量安裝的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Python利用PyPDF2庫(kù)合并多個(gè)pdf文件
PyPDF2庫(kù)是一個(gè)用于處理PDF文件的Python庫(kù),它提供了一系列的工具來(lái)讀取、編輯、合并、拆分和加密PDF文件,使得我們可以在Python環(huán)境下輕松地對(duì)PDF文件進(jìn)行操作,本文將帶大家介紹如何通過(guò)Python的PyPDF2庫(kù)合并多個(gè)pdf文件,需要的朋友可以參考下2023-05-05

