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()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

相关推荐