Python将xlsx文件转成csv类型将编码变为UTF-8方法,xlsxcsv,之前我都是手动转成csv
Python将xlsx文件转成csv类型将编码变为UTF-8方法,xlsxcsv,之前我都是手动转成csv
之前我都是手动转成csv后,用记事本打开另存为设置编码UTF-8,但是数据多了后,记事本打不开csv文件。
xlsx文件解析处理:openpyxl库
csv文件格式生成:csv
python#coding: utf-8# 依赖openpyxl库:http://openpyxl.readthedocs.org/en/latest/from openpyxl import Workbookfrom openpyxl.compat import rangefrom openpyxl.cell import get_column_letterfrom openpyxl import load_workbookimport csvimport osimport sysdef 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)
编橙之家文章,
相关内容
- linux pycharm管理员权限执行问题,linuxpycharm,没有以root权
- flask支持集成支付宝支付吗?如何操作,flask,flask如何集
- Django开发时遇到List赋值问题,django开发list赋值, ca
- Python调用.js文件值并显示的问题,python调用.js,import o
- 请问linux安装cxfreeze失败如何解决,linuxcxfreeze,执行:
- Python迭代list元素是否满足条件判断问题,pythonlist,我是
- 关于AngularJS读取Python API速度的疑问,angularjspython,后台
- 请问fabric能否支持python函数远端服务器运行操作,fab
- 要输出Python函数调用详细日志怎么操作,输出python函数
- Python post数据遇到httplib.BadStatusLine: ''问题求解,,源代码
评论关闭