我正在使用SQLAlchemy连接将pandas DataFrame写入MySQL数据库.在我的代码的早期,我创建了一个SQLAlchemy引擎:
engine = create_my_sqlalchemy_connection()
Run Code Online (Sandbox Code Playgroud)
我执行一些查询,做一些计算,然后尝试使用相同的引擎稍后写入数据库:
df.to_sql('my_table', engine, if_exists='append', index=False)
Run Code Online (Sandbox Code Playgroud)
有时这会起作用,有时连接会在代码准备写入数据库时丢失,并且有错误.
我可以尝试一下,除非需要创建一个新连接:
try:
df.to_sql('my_table', engine, if_exists='append', index=False)
except:
engine = create_my_sqlalchemy_connection()
df.to_sql('my_table', engine, if_exists='append', index=False)
Run Code Online (Sandbox Code Playgroud)
但是,我以为我会伸出手去看看是否有人知道更好的方法(例如,如果有一些我不知道的SQLAlchemy方法用于测试以确定连接是否仍然存在).
我正在处理一个项目,其中我的项目部分是 iframe 中的仪表板。我有一个请求,只将我正在处理的 iframe 制作为可导出为 PDF(也就是说,只显示 iframe 内容,而不显示它周围的包装器内容)。我已经使用一些 jQuery 让它工作了,但我现在很难设置一个默认的文件名来保存为 PDF。这个 SO 答案很有帮助(当页面不在iframe 中时设置 document.title 有效),但是当它在 iframe 视图中时单击导出按钮时它不起作用。这是我尝试过的示例:
$('#export-button').click(function() {
$('#iframe-contents').show();
document.title = 'default_filename';
window.print();
});
Run Code Online (Sandbox Code Playgroud)
有谁知道window.print()从 iframe 中调用时如何在 Chrome 打印对话框中设置默认文件名?
如何仅返回列的值在指定列表中的Spark DataFrame的行?
这是我的Python pandas执行此操作的方式:
df_start = df[df['name'].isin(['App Opened', 'App Launched'])].copy()
Run Code Online (Sandbox Code Playgroud)
我看到了这个 SO scala实现并尝试了几种排列,但无法使其工作.
这是使用pyspark执行此操作的失败尝试:
df_start = df_spark.filter(col("name") isin ['App Opened', 'App Launched'])
Run Code Online (Sandbox Code Playgroud)
输出:
Traceback (most recent call last):
File "/tmp/zeppelin_pyspark-6660042787423349557.py", line 253, in <module>
code = compile('\n'.join(final_code), '<stdin>', 'exec', ast.PyCF_ONLY_AST, 1)
File "<stdin>", line 18
df_start = df_spark.filter(col("name") isin ['App Opened', 'App Launched'])
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
另一种尝试:
df_start = df_spark.filter(col("name").isin(['App Opened', 'App Launched']))
Run Code Online (Sandbox Code Playgroud)
输出:
Traceback (most recent call last):
File "/tmp/zeppelin_pyspark-6660042787423349557.py", line 267, in <module>
raise Exception(traceback.format_exc())
Exception: …Run Code Online (Sandbox Code Playgroud) 是否可以将 CSV 作为 Pandas DataFrame 读取并在一行中将空格(或空单元格)设置为 0?下面是问题的说明。
输入:
$ csvlook data.csv
|------+---+------|
| a | b | c |
|------+---+------|
| | a | 0.0 |
| 0 | b | 1.0 |
| 1.5 | c | 2.5 |
| 2.1 | d | 3.0 |
|------+---+------|
Run Code Online (Sandbox Code Playgroud)
我想要的是:
python% print(df)
a b c
0 0 a 0.0
1 0 b 1.0
2 1.5 c 2.5
3 2.1 d 3.0
Run Code Online (Sandbox Code Playgroud)
我试过的:
df = pd.read_csv('data.csv', dtype={'a': float, 'b': str, 'c': float}) …Run Code Online (Sandbox Code Playgroud) python ×3
pandas ×2
apache-spark ×1
iframe ×1
javascript ×1
jquery ×1
pyspark ×1
sqlalchemy ×1