鱼C论坛

 找回密码
 立即注册
楼主: kerln888

[已解决]html5 左边菜单栏保持展开或者关闭的状态

  [复制链接]
发表于 2026-3-15 09:32:15 | 显示全部楼层
kerln888 发表于 2026-03-15 09:31
@FishC pandas读取excel后,如何把数据存储到mysql数 ...


使用 pandas 读取 Excel 并存储到 MySQL 数据库,可以按以下步骤操作:

1. 安装必要的库
首先确保已安装以下库:

  1. pip install pandas openpyxl sqlalchemy pymysql
复制代码


2. 示例代码

  1. import pandas as pd
  2. from sqlalchemy import create_engine

  3. # 1. 读取 Excel 文件
  4. df = pd.read_excel('data.xlsx', sheet_name='Sheet1')  # 修改文件名和 sheet 名称

  5. # 2. 创建数据库连接
  6. # 格式:mysql+pymysql://用户名:密码@主机:端口/数据库名
  7. engine = create_engine('mysql+pymysql://root:123456@localhost:3306/test_db')

  8. # 3. 将 DataFrame 写入 MySQL
  9. df.to_sql(
  10.     name='table_name',      # 表名(若不存在会自动创建)
  11.     con=engine,             # 数据库连接
  12.     index=False,            # 不保存行索引
  13.     if_exists='replace'     # 表存在时操作:replace(替换)/append(追加)/fail(报错)
  14. )

  15. print("数据存储成功!")
复制代码


3. 参数说明
o read_excel():读取 Excel 文件
o create_engine():创建数据库连接
o to_sql() 关键参数:
  name:目标表名
  con:数据库连接对象
  index:是否将 DataFrame 索引作为列存储
  if_exists
    → 'replace':删除原表重建
    → 'append':追加数据
    → 'fail':表存在时报错

4. 注意事项
o 确保 MySQL 服务已启动
o 数据库字符集建议使用 utf8mb4
o 大型数据集建议分批次写入
o 日期时间列会自动转换格式

如有问题,请检查数据库连接参数和权限设置。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-3-15 09:35:39 | 显示全部楼层
FishC 发表于 2026-3-15 09:32
使用 pandas 读取 Excel 并存储到 MySQL 数据库,可以按以下步骤操作:

1. 安装必要的库

@FishC dataFrame如何实现选取特定的行和列写入mysql呢??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-3-15 09:36:14 | 显示全部楼层
kerln888 发表于 2026-03-15 09:35
FishC 发表于 2026-3-15 09:32
使用 pandas 读取 Exc ...


要选取DataFrame的特定行和列并写入MySQL,可以先用pandas进行数据选择,再通过to_sql方法写入数据库。以下是步骤示例:


  1. import pandas as pd
  2. from sqlalchemy import create_engine

  3. # 假设 df 是已加载的DataFrame
  4. # 选取特定列:例如列 'A' 和 'B'
  5. selected_columns = df[['A', 'B']]

  6. # 选取特定行和列:例如列 'A' 和 'B' 中满足条件的行
  7. selected_data = df.loc[df['A'] > 10, ['A', 'B']]

  8. # 创建MySQL连接引擎,替换为你的数据库信息
  9. engine = create_engine('mysql+pymysql://用户名:密码@主机地址/数据库名')

  10. # 将选定的DataFrame写入MySQL表
  11. selected_data.to_sql('表名', con=engine, if_exists='replace', index=False)
复制代码


关键点:
- 选取列:使用 df[['列名1', '列名2']]
- 选取行和列:使用 df.loc[行条件, ['列名1', '列名2']]
- 写入MySQL:通过 create_engine 建立连接,再用 to_sql 写入,if_exists='replace' 表示替换现有表,index=False 避免写入索引。

确保已安装 pandas、sqlalchemy 和 pymysql 库。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
pywinauto运行程序,程序为什么会拷贝到PyCharm PycharmProjects目录下?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
kerln888 发表于 2026-05-18 19:58
pywinauto运行程序,程序为什么会拷贝到PyCharm Pycha ...


pywinauto 本身不会主动拷贝程序到 PyCharm 的 PycharmProjects 目录下。出现这种情况通常是因为你在使用 Application().start() 启动程序时,传入的是相对路径(例如 "myapp.exe"),而当前工作目录正好是 PyCharm 项目的根目录(即 PycharmProjects/你的项目名),所以系统会从该目录下寻找并执行程序文件。如果程序文件本身就在那个目录里(比如你手动复制过,或者 PyCharm 运行时自动设置了工作目录),那么程序自然就在那里运行了。

建议你改为使用绝对路径指定程序的位置,例如:


  1. from pywinauto import Application
  2. app = Application().start(r"C:\Program Files\MyApp\myapp.exe")
复制代码


这样可以避免因工作目录变化导致的路径查找问题。同时,检查一下你的程序文件是否真的被“拷贝”了,还是只是在该目录下临时运行(程序本身未移动)。如果你希望程序保持原位运行,就不要把它放在项目目录里,而应该通过完整路径启动。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
FishC 发表于 2026-5-18 19:58
pywinauto 本身不会主动拷贝程序到 PyCharm 的 PycharmProjects 目录下。出现这种情况通常是因为你在使 ...

设置了绝对路径的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
kerln888 发表于 2026-05-18 20:13
FishC 发表于 2026-5-18 19:58
pywinauto 本身不会主 ...


当您使用 pywinauto 的 Application().start(r'绝对路径\程序.exe') 启动程序时,pywinauto 会直接调用 Windows 的 CreateProcess API 来启动该路径下的可执行文件,**不会复制程序文件到任何其他目录**。那为什么您会在 PyCharm 的 PycharmProjects 目录下看到该程序?可能的原因有两个:

  • 误解文件位置:如果您启动的程序本身就是一个便携版(例如从网上下载的单文件 exe),它默认会将其运行时产生的临时文件、日志或配置文件保存在**当前工作目录**(即 PyCharm 运行脚本时的目录,通常就是项目根目录)。您看到的可能是这些运行时生成的附加文件,而不是程序本体。
  • PyCharm 的“运行”配置:如果您在 PyCharm 中直接执行了该 exe 文件(而非通过 pywinauto 脚本),PyCharm 可能会将可执行文件复制到临时目录或项目下,但这种情况极少见。更常见的是,您的 pywinauto 脚本所在的项目文件夹中包含了该 exe 文件,您误以为它被“拷贝”过去了。


要验证,请用资源管理器查看该文件的修改日期和大小,如果与原始路径下的文件一致,那么它可能只是您之前手动复制过去的。您可以在 pywinauto 启动程序时,显式指定工作目录来避免混淆:

  1. from pywinauto import Application
  2. app = Application(backend="uia").start(r'C:\Program Files\MyApp\app.exe', work_dir=r'C:\Program Files\MyApp')
复制代码


这样所有运行时文件都会被限制在 work_dir 指定的目录内,不会散落在项目目录中。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-5-24 19:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表