我想搜索CSV文件并打印True或者False,取决于我是否找到了字符串.但是,我遇到的问题是,如果它找到嵌入在更大的文本字符串中的字符串,它将返回误报.例如:True如果字符串是foo并且术语foobar在CSV文件中,它将返回.我需要能够返回完全匹配.
username = input()
if username in open('Users.csv').read():
print("True")
else:
print("False")
Run Code Online (Sandbox Code Playgroud)
我看使用mmap,re并且csv模块的功能,但我还没有得到他们的任何地方.
编辑:这是一种替代方法:
import re
import csv
username = input()
with open('Users.csv', 'rt') as f:
reader = csv.reader(f)
for row in reader:
re.search(r'\bNOTSUREHERE\b', username)
Run Code Online (Sandbox Code Playgroud) 我正在使用CSS flexbox来构建可扩展的响应式网格.将Google图表应用于其中一个Flexbox项目时,该项目会稍微改变大小.这足以使网格不对齐.我把以下图片放在一起以帮助说明问题.
将Google图表应用于第6项之前的Flexbox网格:
将Google图表应用于第6项后的Flexbox网格:
Flexbox网格加载速度比Google图表快,因此网格最初正确加载.但是,当图表加载时,项目6会略微扩展,从而导致图像2上方.
中间列flex容器和item 6 div在css中设置如下:
#middlecolumn {
width: 75%;
height: 100%;
display: flex;
flex-flow: column;
margin: 0.25%;
}
#item6_div {
flex: 3;
margin-top: 0.8vh;
}
Run Code Online (Sandbox Code Playgroud)
请注意,项目5和7在css中的设置方式相同,flex值为1.即项目6是项目5和7的高度的3倍.这样,当项目6调整大小时,保持3:1的比率.
我是否在css中缺少一些东西来阻止Google图表调整其flexbox容器项目的大小?
我正在尝试调整Qt5.9 QML 示波器示例,以从 C++ 推送图形数据,而不是从 QML 请求图形数据。以下是 QML 示波器示例的相关部分。
数据源.h:
#ifndef DATASOURCE_H
#define DATASOURCE_H
#include <QtCore/QObject>
#include <QtCharts/QAbstractSeries>
QT_BEGIN_NAMESPACE
class QQuickView;
QT_END_NAMESPACE
QT_CHARTS_USE_NAMESPACE
class DataSource : public QObject
{
Q_OBJECT
public:
explicit DataSource(QQuickView *appViewer, QObject *parent = 0);
Q_SIGNALS:
public slots:
void generateData(int type, int rowCount, int colCount);
void update(QAbstractSeries *series);
private:
QQuickView *m_appViewer;
QList<QVector<QPointF> > m_data;
int m_index;
};
#endif // DATASOURCE_H
Run Code Online (Sandbox Code Playgroud)
数据源.cpp:
#include "datasource.h"
#include <QtCharts/QXYSeries>
#include <QtCharts/QAreaSeries>
#include <QtQuick/QQuickView>
#include <QtQuick/QQuickItem>
#include <QtCore/QDebug>
#include <QtCore/QtMath> …Run Code Online (Sandbox Code Playgroud) 我创建了一个条形图,如下所示:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
import matplotlib.pyplot as plt
#self.Data1 is an array containing all the data points, inherited from a separate class
DataSet = range(46)
self.Figure1 = plt.figure()
self.Figure1.patch.set_alpha(0)
self.Canvas1 = FigureCanvas(self.Figure1)
#Add canvas to pre-existing Widget#
self.Widget.addWidget(self.Canvas1)
self.Ax1 = plt.subplot(1, 1, 1, axisbg='black')
self.Ax1.bar(DataSet, self.Data1, width=1, color='r')
self.Ax1.tick_params(axis='y', colors='white')
plt.title('GRAPH TITLE', color='w', fontsize=30, fontname='Sans Serif', fontweight='bold')
self.Figure1.tight_layout()
Run Code Online (Sandbox Code Playgroud)
这很好用,产生如下图:
我想要做的是根据值设置条形颜色.如果值为正,则为蓝色;如果值为负,则为红色.最简单的方法是什么?我需要创建一个颜色图吗?
我有一个课程如下:
handler.h中:
#ifndef HANDLER_H
#define HANDLER_H
#include <QObject>
class handler : public QObject
{
Q_OBJECT
public:
explicit handler(QObject *parent = nullptr);
~handler();
public slots:
void returnHandler(int input);
};
#endif // HANDLER_H
Run Code Online (Sandbox Code Playgroud)
handler.cpp:
#include "handler.h"
#include "otherclass.h"
handler::handler(QObject *parent) : QObject(parent)
{
}
handler::~handler()
{
}
void handler::returnHandler(int input)
{
otherclass *otherclassPointer = otherclass::getInstance();
otherclassPointer->returnFunction(input);
}
Run Code Online (Sandbox Code Playgroud)
如图所示,这是一个非常简单的类,旨在接收输入并将输入传递给外部类('otherclass')中的函数.在我的主应用程序('main.cpp')中,我创建了一个QThread,并returnHandler在QThread启动时调用插槽,如下所示:
main.cpp中:
QThread* newThread = new QThread();
handler* handlerPointer = new handler();
handlerPointer->moveToThread(newThread);
connect(newThread, SIGNAL(started()), handlerPointer, SLOT(returnHandler(someInput)));
newThread->start();
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是: …