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

Posted 走吧!走吧!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之xlsx文件与csv文件相互转换相关的知识,希望对你有一定的参考价值。

1 xlsx文件转csv文件

import xlrd
import csv
 
def 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 pd
 
 
def 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()

3 csv文件转换成xlsx文件

import csv
import xlwt
 
def 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‘)  # 保存Excel
 
 
 
if __name__ == ‘__main__‘:
    csv_to_xlsx()

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

import pandas as pd
 
def 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()

 

以上是关于Python之xlsx文件与csv文件相互转换的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中将多个 excel '.xlsx' 转换为 '.csv' 文件时,我得到了额外的列?

Python如何读取xlsx文件并转换为csv而不写入目录[关闭]

Python将csv转换为xlsx

python生成的csv和转换的xlsx文件之间的大小差异

使用 python 将 XLSX 正确转换为 CSV [关闭]

将 xlsx 转换为 CSV [关闭]