Python怎么将Excel文件转为csv文件?Python实现Excel转csv的代码如何写

【Python怎么将Excel文件转为csv文件?Python实现Excel转csv的代码如何写】Excel文件和csv文件实际上都是以表格形式来保存数据的文件类型,而且这两个文件之间实际上都是可以使用Excel表格程序来打开的 。那下面这篇文章就会带来python实现Excel文件转为csv文件的详细代码示例和步骤解析,一起往下看看吧 。

Python怎么将Excel文件转为csv文件?Python实现Excel转csv的代码如何写

文章插图
1.要同时对Excel文件和csv文件进行操作的话就需要导入三个内置模块,这三个模块的作用就是找到文件并且实现对它们的读写操作 。导入模块之后声明一个变量来保存转换后要生成的csv文件名称,并且定义一个函数来将指定文件路径下后缀名为xlsx和xls的Excel文件都给获取到,代码如下所示:
import xlrdimport csvimport oscsv_file_name = 'excel_to_csv.csv'def get_excel_list():    excel_file_list = []    file_list = os.listdir(os.getcwd())    for file_name in file_list:        if file_name.endswith('xlsx') or file_name.endswith('xls'):            excel_file_list.append(file_name)    return excel_file_list2.在获取到了Excel文件之后并不能直接的将其转为csv文件,因为现在有多个Excel文件需要去进行处理 。那么第二步就是要将这些文件的表头,也就是列名都给去读取出来并且将它们统一转为小写形式,代码如下:
def get_excel_header(excel_name_for_header):    workbook = xlrd.open_workbook(excel_name_for_header)    table = workbook.sheet_by_index(0)    row_value = [i.lower() for i in table.row_values(0)]      return row_value3.在更改了所有Excel文件表头信息之后,就需要依次的读取Excel文件中的数据并且将它们放在列表内保存起来 。因为一个Excel文件可以有多个sheet工作表,在读取数据时还要通过for循环迭代的方式才可以进行操作,代码示例如下:
def read_excel(excel_name):    workbook = xlrd.open_workbook(excel_name)    table = workbook.sheet_by_index(0)    nrows = table.nrows    ncols = table.ncols    for rows_read in range(1,nrows):        row_value = []        for cols_read in range(ncols):            ctype = table.cell(rows_read, cols_read).ctype            nu_str = table.cell(rows_read, cols_read).value            if ctype == 2:                nu_str = int(nu_str)            row_value.append(nu_str)        yield row_value4.到了这一步就已经将所有的Excel表格数据都给取出来了,之所以使用yeild关键字的原因就在于需要依次返回每个工作表的数据 。第四步就是将返回来的数据写入到指定名称的csv文件之中了,代码示例如下:
def xlsx_to_csv(csv_file_name,row_value):    with open(csv_file_name, 'a', encoding='utf-8',newline='') as f:        write = csv.writer(f)        write.writerow(row_value)

推荐阅读