gpt4 book ai didi

Python/MariaDB : Converting . csv 数据到数据框并导出到数据库

转载 作者:行者123 更新时间:2023-11-29 17:26:07 25 4
gpt4 key购买 nike

对于我正在从事的一个项目,我正在尝试读取我存储为 csv 文件的传感器数据并将其发送到数据库。经过一番讨论,我们意识到将 .csv 数据转换为数据框对于数据库审核来说是最简单的。我已成功将数据转换为数据帧(耶!),但在将数据帧导出到数据库时遇到问题。这是我的代码:

#first we must convert the data into a dataframe
import pandas as pd
fileName = 'testing1.csv'
df = pd.read_csv('C:/Users/danie/Desktop/testing1.csv')

#Now we must send
from sqlalchemy import create_engine
engine = create_engine('mysql://root:mysecretpassword6@localhost:mysecrethost/mysecretdatabasename')
#change to connect your mysql

df.to_sql(name='dataframes',con=engine,if_exists='append',index=False)

当我尝试发送数据帧时,出现以下错误:

_mysql_exceptions.OperationalError) (1054, "Unknown column '10' in 'field 
list'") [SQL: 'INSERT INTO dataframes (`10`, `25`, `25.1`, `25.2`, `25.3`,
`25.4`) VALUES (%s, %s, %s, %s, %s, %s)'] [parameters: ((20, 486, 486, 486,
486, 486), (30, 286, 286, 286, 286, 286), (40, 286, 286, 286, 286, 286), (50,
289, 289, 289, 289, 289), (60, 262, 262, 262, 262, 262), (70, 5, 5, 5, 5, 5),
(80, 154, 154, 154, 154, 154), (90, 5151, 5151, 5151, 5151, 5151) ...
displaying 10 of 13 total bound parameter sets ... (130, 181, 181, 181, 181,
181), (140, 151, 151, 151, 151, 151))] (Background on this error at:
http://sqlalche.me/e/e3q8)

错误的背景并不能帮助我解决问题。但我发现了一个问题。如果我在 python 上打印数据帧(df),这就是我得到的: Sorry couldn't format it properly so I uploaded an image现在这是一个问题,因为我创建数据框的测试 .csv 文件没有相同的数据。这是一张图片:Where you can clearly see there is no '10, 25, 25.1, 25.2, 25.3, 25.4 values.

我将尝试创建一个新文件并测试它是否有效,但我在数据库中创建了所有正确的列。我不明白为什么数据框从 .csv 中读取不存在的值。或者也许我没有看到我的代码有任何错误。

我非常感谢针对此错误获得的任何帮助。

非常感谢。

edit1:我应该注意,这不是真实的传感器数据。这是一个试用文件。

edit2:我尝试使用新文件和新数据。同样的错误。据我所见,数据框跳过了 .csv 文件的第一行,并且没有将其正确插入到数据框中。这就是我的意思:

     10    25  25.1  25.2  25.3  25.4
0 20 486 486 486 486 486

最佳答案

我发现了这个问题。 df.to_sql 行试图使 csv 文件的第一行成为列标题。修复很简单,只需在 csv 文件中编辑它们以反射(reflect)您希望它们在数据库中使用的名称即可。 IE,将 .csv 文件中的数据向下移动一行并添加列标题。

参见:Excel fix. DB Fix. Python Fix

关于Python/MariaDB : Converting . csv 数据到数据框并导出到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50953508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com