python将xls文件转换为csv格式

常见的数据集文件格式

  • xls: 是一个特有的二进制格式,其核心结构是复合文档类型的结构。(xls是Office2003版本的EXCEL表格
  • xlsx:其核心结构是 XML类型的结构,采用的是基于XML的压缩方式,使其占用的空间更小。xlsx 中最后一个x的意义就在于此。(xlsx是2007版本及以上的EXCEL表格
  • csv:格式仅保留当前工作表中单元格的值,不会保留公式、格式、图表等。(文本文件

三者之间的区别
(1)xlsx格式是向下兼容的,可兼容xls格式。但xls格式却不兼容xlsx格式,有时候会造成文本打不开的情况。
(2)csv是文本文件,可以用记事本打开;xls/xlsx是二进制文件,只有用EXCEL才能打开。
(3)csv文件只能保存活动工作表中单元格所显示的文本和数值,数据中每一列以逗号分隔,每一行都以回车换行符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。xls/xlsx文件各个单元格之间的分隔符为Tab。
(4)csv文件可以用记事本打开,进而转为txt格式的文件;xls/xlsx不能直接转为txt格式。若想转换,则需要另存为csv格式,然后再将csv以txt方式打开,点击另存为txt文件。

深度学习中,我们获取到数据集很多都是xls或者xlsx格式,在实际的实验中,往往要用pandas读取的数据集是csv文件。(这里按行将xls转换成csv文件)

import csv
import xlrd

outputflder = r"python深度学习/data"  # 保存为csv文件的文件地址
file = r"python深度学习/data/titanic3.xls"  # 要转换的初始xls文件
worksheet = xlrd.open_workbook(file, formatting_info=True)
sheet_names = worksheet.sheet_names()
print(sheet_names)
for sheet_name in sheet_names:
    sheet = worksheet.sheet_by_name(sheet_name)
    rows = sheet.nrows  # 获取行数
    cols = sheet.ncols  # 获取列数,尽管没用到

    rowValueList = []
    for i in range(0, rows):  # 遍历行
        row_data = sheet.row_values(i)  # 第i行数据
        rowValueList.append(row_data)  # 把所有行都加进去

    outputfile = outputflder + '\\CXD' + sheet_name + '.csv'
    with open(outputfile, "w") as csvfile:
        writer = csv.writer(csvfile, lineterminator='\n')
        writer.writerows(rowValueList)

print("OK")

运行结果如下:

在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值