【发布时间】:2022-01-17 07:33:01
【问题描述】:
我正在尝试将多张工作表读取(导入)到我的数据库中,但问题是我的代码正在读取所有文件,但只写入文件中最后一张工作表的记录:
#从文件中导入数据集:
dfs = pd.read_excel('sample501.xlsx', sheet_name=None)
print (dfs.keys()) #print the name of sheets
d = {k: v[['SR_NO', 'NTN', 'NAME']].values.tolist()
for k, v in pd.read_excel('sample501.xlsx', sheet_name=None).items()}
for k, v in dfs.items():
columns = ['SR_NO', 'NTN', 'NAME']
df_data = v[columns]
records = df_data.values.tolist()
d[k] = records
#for test sheetnames
print (d.keys())
输出是: dict_keys(['Sheet1', 'Sheet2', 'Sheet3', 'Sheet4']) dict_keys(['Sheet1', 'Sheet2', 'Sheet3', 'Sheet4']) 任务完成。
看起来,它获取所有工作表数据,但仅将工作表 4 的记录写入我的数据库
【问题讨论】:
-
第一行的变量是
fs,但第二行打印的是dfs。dfs是什么? -
你的数据库更新操作的代码在哪里?您的代码看起来不错
-
其实第一行也是dfs
-
数据库代码:sql_insert = ''' INSERT INTO eg205 VALUES (?,?,?) ''' 尝试:cursor = conn.cursor() cursor.executemany(sql_insert, records) 游标。提交();