我找不到任何关于如何将我的结果从mysql查询导出到excel的信息。结果中只有1个字段/行需要正确格式化。所以,这就是我正在使用的代码的结果,都在一个长的行中,带有分隔符。
[('number_of_journeys,distinct_ships,"GROUP_CONCAT(DISTINCT sj.ship_id SEPARATOR \';\')","GROUP_CONCAT(DISTINCT st.ship_type_name SEPARATOR \';\')"\n536,13,6713283;9155913;9219898;9253442;9277321;9282558;9292113;9437866;9515034;10008511;10008693;10017790;10027359,"GENERAL CARGO (Deck Cargo);HANDY BC;HANDYMAX BC;MGC LPG;MR2 TNKR;PANAMAX CONT;SINGLEDECKER (Open Hatch);SMALL CRUISE LUXURY;SMALL HANDY BC (Open Hatch / Self Disc)"\n',)]
现在,这与我直接从使用的数据库导出时不同,因为它的格式是:excel table format。这就是我想要导出的格式。
- 注意:我已经能够实际导出到excel,但不是我想要的格式。我的输出放在excel的一个单元格中,而我需要用逗号分隔的值和换行符来拆分字段。
下面是我使用的代码,我只是省略了配置细节:
try:
myConnection = mysql.connector.connect(**config)
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(err)
else:
cursor = myConnection.cursor(buffered=True)
query = ("SELECT t.results FROM tbl_trade_health_checks_2021_04_26 t WHERE t.order = 2")
cursor.execute(query)
result = cursor.fetchall()
print(result)
wb = openpyxl.Workbook()
ws = wb.active
df = pd.read_sql(query, myConnection)
print(df)
df.to_excel('SqlTester.xlsx')
cursor.close()
myConnection.close()
暂无答案!
目前还没有任何答案,快来回答吧!