import os
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="ramandata"
)
mycursor = mydb.cursor()
# 创建表
mycursor.execute("CREATE TABLE IF NOT EXISTS raman (sample_name VARCHAR(255), wave_number FLOAT, intensity FLOAT)")
# 设置数据文件夹路径
data_folder = 'path/to/raman/data'
# 遍历数据文件夹
for filename in os.listdir(data_folder):
if filename.endswith('.txt'):
# 读取数据文件
with open(os.path.join(data_folder, filename), 'r') as f:
data = []
for line in f:
# 解析每一行数据
line_data = line.strip().split('\t')
sample_name = filename[:-4] # 文件名作为样品名
wave_number = float(line_data[0])
intensity = float(line_data[1])
data.append((sample_name, wave_number, intensity))
# 将数据批量插入表中
sql = "INSERT INTO raman (sample_name, wave_number, intensity) VALUES (%s, %s, %s)"
mycursor.executemany(sql, data)
mydb.commit()
# 关闭连接
mycursor.close()
mydb.close()
此示例代码遍历一个指定的数据文件夹,读取所有以.txt为后缀的文件,并将其存入一个名为raman的表中。
代码使用MySQL数据库,并使用executemany()方法批量插入数据以提高效率。
您需要根据自己的实际情况修改示例代码中的数据库连接信息、数据文件夹路径以及其他参数。