python将excel转换为csv的代码方法总结
python:如何将excel文件转化成CSV格式
importpandasaspd data=pd.read_excel('123.xls','Sheet1',index_col=0) data.to_csv('data.csv',encoding='utf-8')
将Excel文件转为csv文件的python脚本
#!/usr/bin/envpython __author__="lrtao2010" ''' Excel文件转csv文件脚本 需要将该脚本直接放到要转换的Excel文件同级目录下 支持xlsx和xls格式 在同级目录下生成名为excel_to_csv.csv的文件,采用UTF-8编码 ''' importxlrd importcsv importos #生成的csv文件名 csv_file_name='excel_to_csv.csv' defget_excel_list(): #获取Excel文件列表 excel_file_list=[] file_list=os.listdir(os.getcwd()) forfile_nameinfile_list: iffile_name.endswith('xlsx')orfile_name.endswith('xls'): excel_file_list.append(file_name) returnexcel_file_list defget_excel_header(excel_name_for_header): #获取表头,并将表头全部变为小写 workbook=xlrd.open_workbook(excel_name_for_header) table=workbook.sheet_by_index(0) #row_value=table.row_values(0) row_value=[i.lower()foriintable.row_values(0)] returnrow_value defread_excel(excel_name): #读取Excel文件每一行内容到一个列表中 workbook=xlrd.open_workbook(excel_name) table=workbook.sheet_by_index(0)#读取第一个sheet nrows=table.nrows ncols=table.ncols #跳过表头,从第一行数据开始读 forrows_readinrange(1,nrows): #每行的所有单元格内容组成一个列表 row_value=[] forcols_readinrange(ncols): #获取单元格数据类型 ctype=table.cell(rows_read,cols_read).ctype #获取单元格数据 nu_str=table.cell(rows_read,cols_read).value #判断返回类型 #0empty,1string,2number(都是浮点),3date,4boolean,5error #是2(浮点数)的要改为int ifctype==2: nu_str=int(nu_str) row_value.append(nu_str) yieldrow_value defxlsx_to_csv(csv_file_name,row_value): #生成csv文件 withopen(csv_file_name,'a',encoding='utf-8',newline='')asf:#newline=''不加会多空行 write=csv.writer(f) write.writerow(row_value) if__name__=='__main__': #获取Excel列表 excel_list=get_excel_list() #获取Excel表头并生成csv文件标题 xlsx_to_csv(csv_file_name,get_excel_header(excel_list[0])) #生成csv数据内容 forexcel_nameinexcel_list: forrow_valueinread_excel(excel_name): xlsx_to_csv(csv_file_name,row_value) print('Excel文件转csv文件结束')
以上就是2种实例方法,感谢大家的阅读和对毛票票的支持。