python脚本实现xls(xlsx)转成csv

(编辑:jimmy 日期: 2025/12/25 浏览:2)

# xls_csv

把xls,xlsx格式的文档转换成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库 csv文件格式生成:csv

python#coding: utf-8
# 依赖openpyxl库: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():
 # 每个sheet输出到一个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)

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。