A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

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()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
在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()
1
2
3
4
5
6
7
8
9
10
11
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()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
使用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()
---------------------
【转载】
作者:张行之
来源:CSDN
原文:https://blog.csdn.net/qq_33689414/article/details/78307031
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

正序浏览
奈斯,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马