Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将df插入sqlite3将插入运行文本,而不是列_Python_Database_Pandas_Sqlite - Fatal编程技术网

Python 将df插入sqlite3将插入运行文本,而不是列

Python 将df插入sqlite3将插入运行文本,而不是列,python,database,pandas,sqlite,Python,Database,Pandas,Sqlite,我有一个pandas数据框,我想将它插入sqlite3数据库(用python 3.6+编写) 但是,当我将数据插入到表中时,它显示为一个文本文件,文本不断写入。我在Stackoverflow上尝试将数据库文件中的文本复制/粘贴到此处,但Stackoverflow表示在尝试提交时出错。作为备用数据点,当我打开升华文本并从数据库复制/粘贴文本时,唯一粘贴的文本是: SQLite格式3 所以,我在下面粘贴了数据库中文本的屏幕截图。看起来Stackoverflow不喜欢那些不寻常的问号字符 我将pan

我有一个pandas数据框,我想将它插入sqlite3数据库(用python 3.6+编写)

但是,当我将数据插入到表中时,它显示为一个文本文件,文本不断写入。我在Stackoverflow上尝试将数据库文件中的文本复制/粘贴到此处,但Stackoverflow表示在尝试提交时出错。作为备用数据点,当我打开升华文本并从数据库复制/粘贴文本时,唯一粘贴的文本是:

SQLite格式3

所以,我在下面粘贴了数据库中文本的屏幕截图。看起来Stackoverflow不喜欢那些不寻常的问号字符

我将pandas数据帧传递到sqlite3的代码如下所示。注意,我只是在这里创建表(还没有插入数据),并且仍然得到这个表型

cols=[“姓名”、“网站”、“电话”、“地址”、“城市”]
df=pd.DataFrame(columns=cols)
conn=sqlite3.connect('TestDB2.db')
c=连接光标()
c、 执行(“”)
创建表格学生(
id整数主键,
名称文本,
年龄整数,
城市文本,
国家文本
)""")
康涅狄格州提交
dfObj.to_sql('STUDENTS',conn,如果存在='replace',index=False)

熊猫数据框在python中以及在写入excel文件时看起来很不错。我不熟悉sqlite3,但对postgres很熟悉。任何帮助都将不胜感激

正如@DinoCoderSaurus提到的:


sqlite3数据库不是文本文件。这里的结果是使用文本编辑器打开sqlite数据库时得到的结果。使用命令行
sqlite3
或某种工具(我的最爱)检查数据库内容。从张贴的代码中不清楚什么是
dfObj
。sql的
用于插入数据


我没有意识到我正在文本编辑器中查看文件。我为VisualStudio安装了一个插件,希望它能提供数据库可视化。事实并非如此。我安装了DB browser,我的数据就在那里。

变量文本的重复出现问题;我还没有测试过它在Postgres中的作用,但是你要么创建了十几个同名的列,要么创建了一个定义不断被覆盖的列(最后可能只有一个“变量”列,类型为“文本”)。屏幕截图非常不清楚,而且总体而言。如果有私人信息,请创建一个显示类似行为的示例,只使用虚拟信息。没有示例dataframe,这可能会有所帮助。如上所述,在私有信息的情况下,使用具有相同行为的虚拟信息。另请参见关于创建一个。好的,很好的建议。我更新了虚拟信息。但是,我无法从数据库复制/粘贴文本,因为stackoverflow不喜欢这些字符。所以,我上传了一个更清晰的截图。sqlite3数据库不是文本文件。这里的结果是使用文本编辑器打开sqlite数据库时得到的结果。使用命令行
sqlite3
或某种工具(我的最爱)检查数据库内容。从张贴的代码中不清楚什么是
dfObj
。sql
用于插入数据。