python 将数据改为int型_如何用Python将大量数据导入Excel?

ede91b3b62552094c6464d107c9f8d53.gif 1e29950dc5907d2302af5d79f56f650a.gif

今天小编为大家分享一篇使用python将大量数据导出到Excel中的技巧心得,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧!

1 问题描述

为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢?如果碰到需要导出大量数据又该如何操作呢?

2 具体步骤

Step 1 安装openpyxl

使用pip install openpyxl即可,但是在windows下安装的是2.2.6版本,在centos自动安装的是4.1版本,写的代码在windows下运行没问题,但centos上却报错了,说是ew=ExcelWriter(workbook=wb)少提供一个参数,于是果断在 237服务器上我已安装2.2.6版本的,问题解决。

pip install openpyxl==2.2.6

Step 2 直接上代码(Ps:代码中包含xlwt和openpyxl的两个实现版本)

# coding:utf-8

'''# 希望对大家有帮助哈,请多提问题create by yaoyzdate: 2017/01/24'''importxlrdimportxlwt# workbook相关fromopenpyxl.workbookimportWorkbook# ExcelWriter,封装了很强大的excel写的功能fromopenpyxl.writer.excelimportExcelWriter# 一个eggache的数字转为列字母的方法fromopenpyxl.utilsimportget_column_letterfromopenpyxl.reader.excelimportload_workbookclassHandleExcel:'''Excel相关操作类'''def__init__(self):self. head_row_labels = [u'学生ID',u'学生姓名',u'联系方式',u'知识点ID',u'知识点名称']"""function:读出txt文件中的每一条记录,把它保存在list中Param:filename: 要读出的文件名Return:res_list:返回的记录的list"""defread_from_file(self,filename):res_list=file_obj=open(filename,"r")forlineinfile_obj.readlines:res_list.append(line)file_obj.closereturnres_list"""function:读出*.xlsx中的每一条记录,把它保存在data_dic中返回Param:excel_name: 要读出的文件名Return:data_dic:返回的记录的dict"""defread_excel_with_openpyxl(self, excel_name="testexcel2007.xlsx"):# 读取excel2007文件wb = load_workbook(filename=excel_name)# 显示有多少张表print"Worksheet range(s):
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将Excel导入MySQL之前,你需要首先确定每列数据的属性,例如整数、浮点数、日期、字符串等。你可以使用Python中的pandas库来读取Excel文件并自动确定每列数据的属性。以下是一个示例代码: ```python import pandas as pd import pymysql # 从Excel文件中读取数据 df = pd.read_excel('data.xlsx') # 获取每列数据的名称和属性类 columns = list(df.columns) dtypes = df.dtypes.values.astype(str) # 将属性类转换为MySQL数据 mysql_types = [] for dtype in dtypes: if 'int' in dtype: mysql_types.append('INT') elif 'float' in dtype: mysql_types.append('FLOAT') elif 'datetime' in dtype: mysql_types.append('DATETIME') else: mysql_types.append('VARCHAR(255)') # 连接MySQL数据库 conn = pymysql.connect(host='localhost', user='root', password='password', db='database') cursor = conn.cursor() # 创建MySQL表 create_table_query = f"CREATE TABLE table_name ({','.join([f'{column} {mysql_type}' for column, mysql_type in zip(columns, mysql_types)])})" cursor.execute(create_table_query) # 将数据插入MySQL表中 for i, row in df.iterrows(): values = [f"'{value}'" if isinstance(value, str) else str(value) for value in row.values] insert_query = f"INSERT INTO table_name ({','.join(columns)}) VALUES ({','.join(values)})" cursor.execute(insert_query) # 提交更改并关闭连接 conn.commit() cursor.close() conn.close() ``` 在上面的代码中,我们首先使用pandas库读取Excel文件中的数据,并获取每列数据的名称和属性类。然后将属性类转换为MySQL数据,并使用该信息创建MySQL表。最后,我们将数据逐行插入MySQL表中。请注意,上面的代码仅用于演示目的,你需要根据具体情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值