我是python的新手,所以我需要你的帮助才能弄清楚如何做到这一点。
我正在尝试将数据从excel文件导入到MySQL数据库中,我需要导入除此之外的所有内容,包括石楠和最后一行。
目前,这是代码:
recursive (100, new StringBuilder (101));
我知道可能是在代码的这一部分我需要做些什么,但我尝试了一切我能想到的,没有任何效果。 有什么想法吗?
重要的是说我正在使用xlrd和MySQLdb,所以我需要能够使用这些模块的东西。
提前致谢
答案 0 :(得分:0)
使用Pandas
pd.read_excel(<parameter>)
pd.to_sql(<parameters>)
以下是Pandas和SQL Alchemy的快速示例:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine(<<MYSQL COnnection String>>)
df = pd.read_excel("") #https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html
df.to_sql(con=engine, name='tablename',if_exists='append', index=False)
您需要安装Pandas和SQLAlchemy Module。你可以轻松地谷歌那些,
答案 1 :(得分:0)
在我自己的一个电子表格上运行了一些测试后,看起来很混淆nrows
的含义以及它与范围索引的关系。
标题行是第0行。
通过将范围设为1,可以正确排除标题(如果标题只有1行!)。
nrows
是行数。这意味着如果你有362行,nrows
将是362.但是......如果你将它传递给范围,因为range
从0开始,你将得到&#34;碰撞&#34;到第363排。您代码中的nrows -1
会将其调整回工作表的最后一行。
因此,要按照您描述的方式清理数据,您需要做的就是排除标题,最后一行是从第1行开始到nrows -2
结束。
for r in range(1, sheet.nrows - 2):