Python之xlsx文件与csv文件相互转换

来源:互联网 发布:神话软件下载 编辑:程序博客网 时间:2024/06/08 15:53

Python之xlsx文件与csv文件相互转换

在Python中,可以使用xlrdcsv模块来处理Excel文件和csv文件。

xlsx文件转csv文件

import xlrdimport csvdef xlsx_to_csv():    workbook = xlrd.open_workbook('1.xlsx')    table = workbook.sheet_by_index(0)    with codecs.open('1.csv', 'w', encoding='utf-8') as f:        write = csv.writer(f)        for row_num in range(table.nrows):            row_value = table.row_values(row_num)            write.writerow(row_value)if __name__ == '__main__':    xlsx_to_csv()

在2个文件之间转换,需要注意一个文件的字符转码问题。

使用第三方库pandas将xlsx文件转csv文件

import pandas as pddef xlsx_to_csv_pd():    data_xls = pd.read_excel('1.xlsx', index_col=0)    data_xls.to_csv('1.csv', encoding='utf-8')if __name__ == '__main__':    xlsx_to_csv_pd()

csv文件转换成xlsx文件

import csvimport xlwtdef csv_to_xlsx():    with open('1.csv', 'r', encoding='utf-8') as f:        read = csv.reader(f)        workbook = xlwt.Workbook()        sheet = workbook.add_sheet('data')  # 创建一个sheet表格        l = 0        for line in read:            print(line)            r = 0            for i in line:                print(i)                sheet.write(l, r, i)  # 一个一个将单元格数据写入                r = r + 1            l = l + 1        workbook.save('1.xlsx')  # 保存Excelif __name__ == '__main__':    csv_to_xlsx()

使用pandas将csv文件转成xlsx文件

import pandas as pddef csv_to_xlsx_pd():    csv = pd.read_csv('1.csv', encoding='utf-8')    csv.to_excel('1.xlsx', sheet_name='data')if __name__ == '__main__':    csv_to_xlsx_pd()

pandas模块具有非常强的功能,具体如下:

Pandas速查手册中文版

21天pandas入门手册1-10分钟入门