Ringkasan soalan lazim tentang mengimport data Excel ke dalam MySQL: Bagaimana untuk menangani kehilangan data?
Apabila mengimport data daripada jadual Excel ke pangkalan data MySQL, kehilangan data sering dihadapi. Ini mungkin disebabkan oleh ketidakpadanan format data, ralat pengimport atau sebab lain. Yang berikut menerangkan beberapa masalah dan penyelesaian biasa untuk menangani situasi kehilangan data, dan menyediakan contoh kod yang sepadan.
Penyelesaian: Sebelum mengimport data, semak jenis data dalam jadual Excel dan tukar data kepada jenis yang betul jika perlu. Di bawah ialah contoh kod untuk mengimport data daripada jadual Excel ke dalam pangkalan data MySQL:
import pandas as pd import mysql.connector # 读取Excel表格数据 data = pd.read_excel("data.xlsx") # 连接MySQL数据库 conn = mysql.connector.connect(user='root', password='password', host='localhost', database='test') cursor = conn.cursor() # 创建数据库表 create_table_query = "CREATE TABLE IF NOT EXISTS data (id INT, name VARCHAR(255), age INT)" cursor.execute(create_table_query) # 插入数据 for index, row in data.iterrows(): insert_query = "INSERT INTO data (id, name, age) VALUES (%s, %s, %s)" values = (row['id'], row['name'], row['age']) cursor.execute(insert_query, values) # 提交事务并关闭连接 conn.commit() cursor.close() conn.close()
Penyelesaian: Sebelum menulis program import, semak logik kod dengan teliti untuk memastikan tiada ralat. Apabila memasukkan data, anda boleh menggunakan pernyataan cuba-kecuali untuk menangkap pengecualian dan mengendalikan pengecualian dengan betul. Berikut ialah contoh kod untuk mengendalikan pengecualian semasa memasukkan data:
import pandas as pd import mysql.connector # 读取Excel表格数据 data = pd.read_excel("data.xlsx") # 连接MySQL数据库 conn = mysql.connector.connect(user='root', password='password', host='localhost', database='test') cursor = conn.cursor() # 创建数据库表 create_table_query = "CREATE TABLE IF NOT EXISTS data (id INT, name VARCHAR(255), age INT)" cursor.execute(create_table_query) # 插入数据 try: for index, row in data.iterrows(): insert_query = "INSERT INTO data (id, name, age) VALUES (%s, %s, %s)" values = (row['id'], row['name'], row['age']) cursor.execute(insert_query, values) except Exception as e: print("插入数据错误:", str(e)) # 提交事务并关闭连接 conn.commit() cursor.close() conn.close()
Penyelesaian: Sebelum mengimport data, semak data dalam jadual Excel dengan teliti untuk memastikan data tersebut lengkap dan nama medan adalah konsisten dengan yang terdapat dalam pangkalan data MySQL. Jika gangguan rangkaian atau situasi abnormal lain berlaku semasa proses import, mekanisme transaksi boleh digunakan untuk memastikan ketekalan data. Berikut ialah contoh kod untuk mengimport data menggunakan mekanisme transaksi:
import pandas as pd import mysql.connector # 读取Excel表格数据 data = pd.read_excel("data.xlsx") # 连接MySQL数据库 conn = mysql.connector.connect(user='root', password='password', host='localhost', database='test') cursor = conn.cursor() # 创建数据库表 create_table_query = "CREATE TABLE IF NOT EXISTS data (id INT, name VARCHAR(255), age INT)" cursor.execute(create_table_query) # 开启事务 cursor.execute("START TRANSACTION") try: # 插入数据 for index, row in data.iterrows(): insert_query = "INSERT INTO data (id, name, age) VALUES (%s, %s, %s)" values = (row['id'], row['name'], row['age']) cursor.execute(insert_query, values) # 提交事务 cursor.execute("COMMIT") except Exception as e: # 回滚事务 cursor.execute("ROLLBACK") print("导入数据错误:", str(e)) # 关闭连接 cursor.close() conn.close()
Ringkasnya, apabila mengimport data dalam jadual Excel ke dalam pangkalan data MySQL, kita perlu memberi perhatian kepada pemadanan jenis data, mencegah ralat program import dan pemprosesan Sebab lain yang mungkin untuk kehilangan data. Kami berharap masalah dan penyelesaian biasa yang disediakan dalam artikel ini dapat membantu pembaca menangani situasi kehilangan data dengan lebih baik.
Atas ialah kandungan terperinci Ringkasan soalan lazim tentang mengimport data Excel ke dalam Mysql: Bagaimana untuk menangani kehilangan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!