小编Dav*_*_sd的帖子

Python读取csv - 嵌入第一个键的BOM

我正在使用Python 2.7.12.使用此代码片段,我将保存一个utf-8 csv文件.我在文件的开头写了BOM.

import codecs
import csv

outputFile = open("test.csv", "wb")
outputFile.write(codecs.BOM_UTF8)
fieldnames = ["a", "b"]
writer = csv.DictWriter(outputFile, fieldnames, delimiter=";")
writer.writeheader()
row = dict([])
for i in range(10):
    row["a"] = str(i).encode("utf-8")
    row["b"] = str(i*2).encode("utf-8")
    writer.writerow(row)
outputFile.close()
Run Code Online (Sandbox Code Playgroud)

我想加载该csv文件:

import codecs
import csv
inputFile = open("test.csv", "rb")
reader = csv.DictReader(inputFile, delimiter=";")
for row in reader:
    print row["a"]
inputFile.close()
Run Code Online (Sandbox Code Playgroud)

上面的代码将失败:KeyError: 'a' 如果我打印行键,这就是它们的样子:[u'\ufeffa', u'b'].BOM已嵌入到密钥中a.我究竟做错了什么?

python csv byte-order-mark key

22
推荐指数
2
解决办法
6134
查看次数

Sympy - Lambdify - 挖掘虚拟变量的名称

假设我想创建一个带有单个符号的表达式,用 Latex 编写(因为在 Jupyter Notebook 中可视化它真的很有帮助)。然后我lambdify用来获得一个可以评估多个值的函数。问题是这个函数会显示一个名为 的变量_Dummy_,如下所示。

AoB = sp.symbols(r'\frac{\alpha}{\beta}')
expr = 2 * AoB
lam = sp.lambdify([AoB], expr, 'numpy')
display(lam)

Output: <function _lambdifygenerated(_Dummy_1198)>
Run Code Online (Sandbox Code Playgroud)

现在,想象一个包装函数:在其中我定义了几个 sympy 表达式,每个表达式都使用不同的 Latex 符号。我给这个函数一个 index 参数,它用于返回相应表达式的 lambdify 版本。

当lambdify 函数返回时,我真的很想知道_Dummy_它指的是什么,尤其是当lambdify 函数需要计算两个或更多参数时。例如,在上面的示例中,如果调用函数参数AoB(我可以将其解释为 alpha 超过 beta),我就没有问题。

理想情况下,我很想创建一个既接受 Latex (用于可视化目的)又接受回退符号的符号,以便在要创建虚拟变量时使用(例如,使用 lamdify)。是否可以?

python sympy

5
推荐指数
1
解决办法
247
查看次数

Sympy - 当表达式包含许多符号时,积分速度很慢

假设我有以下表达式,我想对z从 0 到 的变量进行积分L

import sympy as sp

mdot, D, R, alpha, beta, xi, mu0, q, cp, Tin, L = sp.symbols("\dot{m}, D, R, alpha, beta, xi, mu_0, q, c_p, T_in, L", real=True, positive=True, constant=True)
z = sp.symbols("z", real=True, positive=True)
n = sp.Symbol("n", real=True)

firstexpr = 8 * mdot**2 * R / (sp.pi**2 * D**5) * (alpha + beta * (sp.pi * D * mu0 / (4 * mdot))**xi * (q * z / (mdot * cp) …
Run Code Online (Sandbox Code Playgroud)

python symbolic-math sympy

5
推荐指数
0
解决办法
332
查看次数

React - 使用 CSS 模块将 **active** 类应用于元素

我正在深入研究 React,我发现在使用 CSS 模块时管理活动类名时遇到了一个小问题。

假设我想开发一个 Tabs React 组件。我想将活动类应用于当前列表项。选项卡标题由以下组件构建:

import React, { Component } from 'react';
import styles from './Tabs.scss';

export default class TabHeader extends Component {

    render() {
        let activeTabIndex = this.props.activeTabIndex;

        return (
            <ul className={styles['tabs-header']}>
                {
                    this.props.data.map((item, index) => {
                        return (
                            <li key={index}>
                                <a className={(index === activeTabIndex) ? 'active' : ''} href="#">
                                    <span>{item.header}</span>
                                </a>
                            </li>
                        )
                    })
                }
            </ul>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我有条件地将活动类添加到感兴趣的列表项中。样式表代码是 Tabs.scss:

.tabs-header {
    display: table;
    width: 100%;
    list-style-type: none; …
Run Code Online (Sandbox Code Playgroud)

css module reactjs

3
推荐指数
1
解决办法
2654
查看次数

有没有办法在 python 中的分段函数中指定 x!=y ?

我对这个词还是个新手,今天我想尝试在 Jupyter Notebook 上做一些数学题。我想解决这个功能: 在此处输入图像描述

我正在使用 jupyter 笔记本以及 sympy、numpy 和 matplotlib 等模块,但我不知道如何表示 x!=-y。

例如,如果函数不是 x!=-y,而是 x>y 我会这样做:

 x, y = sp.symbols('x y', real=True)
 g = sp.Piecewise(((x*y**4 - x**4*y)/(x**3+y**3), (x>y)), (0, True)) 
 G = sp.Lambda((x,y), g)
 display(G(x,y))
Run Code Online (Sandbox Code Playgroud)

但是如果我输入 x!=-y ,它不起作用(它不显示整个分段函数,它只显示分段函数的“第一部分”),我不知道如何解决它。

谢谢!!!

python sympy calculus

2
推荐指数
1
解决办法
131
查看次数

标签 统计

python ×4

sympy ×3

byte-order-mark ×1

calculus ×1

css ×1

csv ×1

key ×1

module ×1

reactjs ×1

symbolic-math ×1