【发布时间】:2021-12-01 20:30:39
【问题描述】:
enter image description here我正在尝试使用python脚本和pandas导入SQlite数据库,几个excel文件,代码如下:
import pandas as pd
import os
path = os.getcwd()
files = os.listdir(path)
for filename in os.listdir(path):
if filename.endswith('.xls'):
df = pd.read_excel(filename)
df.columns = ['Data',
'Hour',
'Series 1',
'Series 2',
'Series 3',
'Series 4']
conn = sqlite3.connect('data.db')
c = conn.cursor()
df.to_sql('table1', conn, if_exists='replace')
print(df)
但是,每次运行脚本时它要么替换值要么创建重复值,知道如何在 SQLite 中保留唯一值吗?
【问题讨论】:
-
您当前正在告诉 python 将数据帧加载到“table1”中,如果存在,则应将“table1”替换为当前文件。您要追加到表格中,还是为每个 excel 文件创建一个新文件?
-
我需要追加,但即使更改为 if_exists='append',它也无济于事,因为每次我在 python 中运行代码时,值都写入数据库 table1 中。我想我需要相同的唯一性密钥?
-
您能否提供一些数据示例?使用此方法时,它的外观、您希望它的外观以及最终的外观。
-
我已经更新了输入视图的问题。我有几个这样的excel,都是通过脚本导入的。但是我现在正在运行的问题是,每次我运行脚本时它都会导入它们,从而创建重复项。
-
你能告诉我重复的输出是什么样的吗?
标签: python pandas dataframe sqlite