python将excel表格数据写入数据库

博客提及使用python3和xlrd进行相关操作,未详细说明具体内容,但可推测与Excel处理有关,因为标签为excel,且代码可能用于对Excel文件进行读写等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python3 + xlrd

话不多说,直接上代码

import xlrd
import pymysql
import time
t1 = time.time()
print("开始了")
db = pymysql.connect('你的ip', 'root', '数据库密码', '数据库名', charset='utf8')
cur = db.cursor()
ex = xlrd.open_workbook("你要读取的文件路径")
sheet = ex.sheet_by_index(0)
rows = sheet.nrows
cols = sheet.ncols
# 跳过第一行的标题,直接从第二行真实数据开始
for row_num in range(1, rows):
    # 是否需要转换格式根据你自己要拿到的数据有关系(我这拿到的手机号,但是提取出来是float类型)
    data = int(sheet.row_values(row_num, 0)[0])
    print(data)
    sql = "insert into TvUser(mobile) VALUES ('%s')" % (data)
    cur.execute(sql)
    db.commit()
cur.close()
db.close()
t2 = time.time()
print(t2-t1)
print("结束了")

 

### 使用PythonExcel文件中的数据插入到数据库 要实现将Excel文件中的数据行导入到数据库中,可以采用多种库来完成这一操作。以下是基于 `xlrd` 和 `pymysql` 的解决方案[^1],以及另一种适用于 Oracle 数据库的方法[^2]。 #### 方法一:使用 `xlrd` 和 `pymysql` 此方法适合于 MySQL 数据库。首先需要安装所需的 Python 库: ```bash pip install xlrd pymysql ``` 随后编写如下代码片段用于读取 Excel 文件并将其写入 MySQL 数据库: ```python import xlrd import pymysql def read_excel_and_insert_to_mysql(file_path, db_config): workbook = xlrd.open_workbook(file_path) sheet = workbook.sheet_by_index(0) connection = pymysql.connect( host=db_config['host'], user=db_config['user'], password=db_config['password'], database=db_config['database'] ) try: with connection.cursor() as cursor: for row_idx in range(sheet.nrows)[1:]: values = [] for col_idx in range(sheet.ncols): cell_value = sheet.cell(row_idx, col_idx).value values.append(cell_value) placeholders = ', '.join(['%s'] * len(values)) sql_query = f"INSERT INTO your_table (column1, column2, ...) VALUES ({placeholders})" cursor.execute(sql_query, tuple(values)) connection.commit() finally: connection.close() db_info = { 'host': 'localhost', 'user': 'root', 'password': 'your_password', 'database': 'test_db' } read_excel_and_insert_to_mysql('path/to/excel/file.xls', db_info) ``` 上述代码通过 `xlrd` 打开指定的 Excel 文件,并逐行读取其内容;之后利用 `pymysql` 将这些数据插入至 MySQL 数据库中。 #### 方法二:针对 Oracle 数据库的操作 如果目标数据库为 Oracle,则可参照以下方式处理: ```python import cx_Oracle from openpyxl import load_workbook def insert_into_oracle(excel_file_path, table_name, oracle_conn_params): wb = load_workbook(filename=excel_file_path) ws = wb.active conn = cx_Oracle.connect(**oracle_conn_params) cursor = conn.cursor() rows_data = list(ws.iter_rows(min_row=2, max_col=None, max_row=None, values_only=True)) columns_count = len(rows_data[0]) placeholders = ','.join([f":{i}" for i in range(1, columns_count + 1)]) query_template = f"INSERT INTO {table_name} (col1, col2,...) VALUES({placeholders})" cursor.executemany(query_template, rows_data) conn.commit() cursor.close() conn.close() conn_details = {'user':'scott','password':'tiger','dsn':'localhost/orcl'} insert_into_oracle('example.xlsx', 'P_INFO', conn_details) ``` 这段代码展示了如何借助 `openpyxl` 来加载 Excel 文档的内容,并通过 `cx_Oracle` 插入到 Oracle 数据库里。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值