python - 将excel行转换为txt文件并将其插入到python中的DB2

标签 python mysql excel db2

Python大师您好

我想要实现的目标:我想将 xlsx 文件中的数据加载到数据库(DB2 - 连接器)。为此,我想将数据从 xlsx 转换为 txt 文件: .txt - 带有插入(例如:插入 test.aaa 值 ('1', 'AA' , to_date ('2017-05-01', 'yyyy-mm-dd'), - 1、“99”); 当我拥有此文件时,我可以将插入发送到DB2

现在我正在做的是遍历 exel 文件中的每个单元格并将其附加到 txt 文件中(使用“for”循环):

def modify(self):
    a = 0
    for i in range(self.sh.nrows):
        print(self.sh.row_values(a))
        b=0
        for i in range(self.sh.ncols):
            print(self.sh.cell_value(a,b))
            b += 1
        a += 1

问题: 1)有没有更简单的方法来做到这一点?也许我可以创建仅传递整行而不是每个单元格的模式? 2)你知道是否有任何库可以直接将数据从excel传递到数据库

谢谢

ps。如果您发现我的代码中有任何错误,请随时纠正我。

示例数据:

a   b   c   d
aaa 2017-11-12  111 0
bbb 2017-11-12  222 0
ccc 2017-11-12  333 0

最佳答案

感谢您的帮助。最终版本的代码:

import pandas as pd
import pymysql
from sqlalchemy import create_engine


engine = create_engine('mysql+pymysql://root:1234@localhost/world') #create engine
conn = engine.connect() #open connection
df = pd.read_excel('ex1.xlsx', sheet_name = 'PM1', dtype = str) #create data_frame

df.to_sql('test1',conn,if_exists='append',index=False) #INSERT into DB
data = pd.read_sql('select * from test1',conn)

print(data)

只有一件事:为什么我需要使用这个:pymysql(engine)。没有该代码就无法工作。它要求我添加“导入 pymysql”。

关于python - 将excel行转换为txt文件并将其插入到python中的DB2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374911/

相关文章:

mysql - SQL仅插入表,如何仅选择最新条目

excel - 我想确定以黄色突出显示的按钮的正确代码

vba - 类模块的全局变量声明

python - 删除除特定值外的多次出现?

python - 如何使用selenium点击discord服务器 channel ?

python urllib.parse.urljoin 在以数字和冒号开头的路径上

mysql - 当我在页面加载时使用数据读取器附加文本框的内容时,更新查询不起作用

mysql - 如果存在,则更新,否则插入,存储过程中的游标仅返回 1 行

vba - Excel VBA,转换数据导致Excel崩溃

python - 无法在 python 中使用 p4 模块