мой ответ немного запоздал, но я думаю, что позже лучше, чем никогда. Предположим, что ваш dataframe
- df
со столбцами Year
и Quarter
.
import pandas as pd
df = pd.DataFrame({'Quarter':'q1 q2 q3 q4'.split(), 'Year':'2000'})
Предположим, что мы хотим видеть фрейм данных;
df
>>> Quarter Year
0 q1 2000
1 q2 2000
2 q3 2000
3 q4 2000
Наконец , соедините Year
и Quarter
следующим образом.
df['Period'] = df['Year'] + ' ' + df['Quarter']
Теперь вы можете print
df
видеть результирующий фрейм.
df
>>> Quarter Year Period
0 q1 2000 2000 q1
1 q2 2000 2000 q2
2 q3 2000 2000 q3
3 q4 2000 2000 q4
Если вам не нужно пространство между годом и кварталом, просто удалите его, выполнив:
df['Period'] = df['Year'] + df['Quarter']
Надеюсь, это вам поможет.
Ниже вы можете найти ссылку на цвет текста для команды при запуске приложения node.js:
console.log('\x1b[36m%s\x1b[0m', 'I am cyan'); //cyan
console.log('\x1b[33m%s\x1b[0m', stringToMakeYellow); //yellow
Примечание. %s
- это где в строке (второй аргумент) вводится инъекция. \x1b[0m
сбрасывает цвет терминала, после этого он больше не становится выбранным цветом.
Ссылка на цвет
Reset = "\x1b[0m"
Bright = "\x1b[1m"
Dim = "\x1b[2m"
Underscore = "\x1b[4m"
Blink = "\x1b[5m"
Reverse = "\x1b[7m"
Hidden = "\x1b[8m"
FgBlack = "\x1b[30m"
FgRed = "\x1b[31m"
FgGreen = "\x1b[32m"
FgYellow = "\x1b[33m"
FgBlue = "\x1b[34m"
FgMagenta = "\x1b[35m"
FgCyan = "\x1b[36m"
FgWhite = "\x1b[37m"
BgBlack = "\x1b[40m"
BgRed = "\x1b[41m"
BgGreen = "\x1b[42m"
BgYellow = "\x1b[43m"
BgBlue = "\x1b[44m"
BgMagenta = "\x1b[45m"
BgCyan = "\x1b[46m"
BgWhite = "\x1b[47m"
EDIT:
Например, \x1b[31m
является escape-последовательностью , которая будет перехвачена вашим терминалом и предложит ей переключиться на красный цвет. Фактически, \x1b
- это код для непечатаемого управляющего символа escape
. Экранирующие последовательности, относящиеся только к цветам и стилям, также известны как escape-код ANSI и стандартизированы, поэтому они (должны) работать на любой платформе.
Это список доступных цветов (фон, передний план) в консоли с доступными действиями (сброс, реверс, ...).
const colors = {
Reset: "\x1b[0m",
Bright: "\x1b[1m",
Dim: "\x1b[2m",
Underscore: "\x1b[4m",
Blink: "\x1b[5m",
Reverse: "\x1b[7m",
Hidden: "\x1b[8m",
fg: {
Black: "\x1b[30m",
Red: "\x1b[31m",
Green: "\x1b[32m",
Yellow: "\x1b[33m",
Blue: "\x1b[34m",
Magenta: "\x1b[35m",
Cyan: "\x1b[36m",
White: "\x1b[37m",
Crimson: "\x1b[38m" //القرمزي
},
bg: {
Black: "\x1b[40m",
Red: "\x1b[41m",
Green: "\x1b[42m",
Yellow: "\x1b[43m",
Blue: "\x1b[44m",
Magenta: "\x1b[45m",
Cyan: "\x1b[46m",
White: "\x1b[47m",
Crimson: "\x1b[48m"
}
};
Используйте его как показано ниже:
console.log(colors.bg.Blue, colors.fg.White , "I am white message with blue background", colors.Reset) ;
//don't forget "colors.Reset" to stop this color and return back to the default color
Вы также можете установить:
npm install console-info console-warn console-error --save-dev
IT даст вам выход ближе к консоли клиентской стороны:
Я создал свой собственный модуль, StyleMe . Я сделал это, поэтому я могу много сделать с небольшим набором текста. Пример:
var StyleMe = require('styleme');
StyleMe.extend() // extend the string prototype
console.log("gre{Hello} blu{world}!".styleMe()) // Logs hello world! with 'hello' being green, and 'world' being blue with '!' being normal.
Он также может быть вложен:
console.log("This is normal red{this is red blu{this is blue} back to red}".styleMe())
Или, если вы не хотите расширять прототип строки, вы можете использовать только один из трех других вариантов:
console.log(styleme.red("a string"))
console.log("Hello, this is yellow text".yellow().end())
console.log(styleme.style("some text","red,bbl"))
Простой цветной журнал. Поддержка проверки объектов и однострочного обновления Этот пакет просто перерисовывает консоль.
install
npm install paint-console
use
require('paint-console');
console.info('console.info();');
console.warn('console.warn();');
console.error('console.error();');
console.log('console.log();');
Удобный однострочный я написал для скриптов npm, которые не могут иметь зависимости:
const { r, g, b, w, c, m, y, k } = [
['r', 1], ['g', 2], ['b', 4], ['w', 7],
['c', 6], ['m', 5], ['y', 3], ['k', 0],
].reduce((cols, col) => ({
...cols, [col[0]]: f => `\x1b[3${col[1]}m${f}\x1b[0m`
}), {})
console.log(`${g('I')} love ${r('Italy')}`)
В этой документации вы можете изменить цвета на основе типа данных вывода:
// you'll need the util module
var util = require('util');
// let's look at the defaults:
util.inspect.styles
{ special: 'cyan',
number: 'yellow',
boolean: 'yellow',
undefined: 'grey',
null: 'bold',
string: 'green',
date: 'magenta',
regexp: 'red' }
// what are the predefined colors?
util.inspect.colors
{ bold: [ 1, 22 ],
italic: [ 3, 23 ],
underline: [ 4, 24 ],
inverse: [ 7, 27 ],
white: [ 37, 39 ],
grey: [ 90, 39 ],
black: [ 30, 39 ],
blue: [ 34, 39 ],
cyan: [ 36, 39 ],
green: [ 32, 39 ],
magenta: [ 35, 39 ],
red: [ 31, 39 ],
yellow: [ 33, 39 ] }
Они выглядят как escape-коды ANSI SGR, где первый number - это код для выдачи перед выходом, а второй номер - это код, который следует испускать после. Поэтому, если мы посмотрим на диаграмму кодов ANSI SGR в Википедии , вы увидите, что большинство из них начинаются с номера 30-37 для установки цвета переднего плана и заканчиваются на 39 для возврата к цвет переднего плана по умолчанию.
Так что одна вещь, которая мне не нравится, - это темные некоторые из них. Особенно даты. Попробуйте new Date()
в консоли. Темный пурпурный на черном действительно трудно читать. Вместо этого изменим это на светлый пурпурный.
// first define a new color
util.inspect.colors.lightmagenta = [95,39];
// now assign it to the output for date types
util.inspect.styles.date = 'lightmagenta';
Теперь, когда вы пытаетесь new Date()
, выход становится более читаемым.
Если вы хотите автоматически установить цвета при запуске узла создайте скрипт, который запускает repl, например:
// set your colors however desired
var util = require('util');
util.inspect.colors.lightmagenta = [95,39];
util.inspect.styles.date = 'lightmagenta';
// start the repl
require('repl').start({});
Сохраните этот файл (например, init.js
), затем запустите node.exe init.js
. Он установит цвета и запустит командную строку node.js.
(Благодаря loganfsmyth в этот ответ для идеи repl.)
logger / index.js
const colors = {
Reset : "\x1b[0m",
Bright : "\x1b[1m",
Dim : "\x1b[2m",
Underscore : "\x1b[4m",
Blink : "\x1b[5m",
Reverse : "\x1b[7m",
Hidden : "\x1b[8m",
FgBlack : "\x1b[30m",
FgRed : "\x1b[31m",
FgGreen : "\x1b[32m",
FgYellow : "\x1b[33m",
FgBlue : "\x1b[34m",
FgMagenta : "\x1b[35m",
FgCyan : "\x1b[36m",
FgWhite : "\x1b[37m",
BgBlack : "\x1b[40m",
BgRed : "\x1b[41m",
BgGreen : "\x1b[42m",
BgYellow : "\x1b[43m",
BgBlue : "\x1b[44m",
BgMagenta : "\x1b[45m",
BgCyan : "\x1b[46m",
BgWhite : "\x1b[47m",
};
module.exports = () => {
Object.keys(colors).forEach(key => {
console['log' + key] = (strg) => {
if(typeof strg === 'object') strg = JSON.stringify(strg, null, 4);
return console.log(colors[key]+strg+'\x1b[0m');
}
});
}
в вашем app.js
require('./logger')();
, затем используйте его как:
console.logBgGreen(" grüner Hintergrund ")
Эта библиотека Sindre Sorhus является лучшей на данный момент:
String.prototype
Есть несколько модулей для изменения цвета шрифта консоли в Node.js, наиболее популярными являются:
chalk использование:
npm install chalk
g19] blockquote>var chalk = require('chalk'); console.log(chalk.red('Text in red'));
цвета использование:
npm установить цвета
blockquote>var colors = require('colors/safe'); // does not alter string prototype console.log(colors.red('This String Will Display RED'));
Там несколько цветов на выбор, а также форматирование текста, например Bold и Italic .
Многие люди отметили свое неодобрение при изменении цвета прототип String, если вы предпочитаете, чтобы ваши прототипы остались одни, вы захотите использовать cli-color или chalk
npm install cli-color
blockquote>var clc = require('cli-color'); console.log(clc.red('Text in red'));
Оба cli-color и мел требует немного больше ввода b Вы получаете похожие результаты (в цвета) без добавления прототипов String. Оба поддерживают хороший диапазон цветов, форматирование (жирный / курсив и т. Д.) И имеют модульные тесты.
Возьмите выбор.
Если вы хотите напрямую изменить цвета непосредственно без модуля, попробуйте
console.log('\x1b[36m', 'sometext' ,'\x1b[0m');
Сначала «\ x1b [36m», чтобы изменить цвета на «36», а затем вернуться к цвету терминала «0», ,
Пошел на этот вопрос и захотел использовать некоторые цвета на stdout без каких-либо зависимостей. Здесь сочетаются некоторые другие замечательные ответы.
Вот что у меня есть. (Требуется узел v4 или больше)
// colors.js
const util = require('util')
function colorize (color, text) {
const codes = util.inspect.colors[color]
return `\x1b[${codes[0]}m${text}\x1b[${codes[1]}m`
}
function colors () {
let returnValue = {}
Object.keys(util.inspect.colors).forEach((color) => {
returnValue[color] = (text) => colorize(color, text)
})
return returnValue
}
module.exports = colors()
Просто требуется файл, а затем используйте его так:
const colors = require('./colors')
console.log(colors.green("I'm green!"))
Предустановленные цветовые коды доступны здесь
В ubuntu вы можете просто использовать цветовые коды:
var sys = require('sys');
process.stdout.write("x1B[31m" + your_message_in_red + "\x1B[0m\r\n");
Я не хочу никакой зависимости для этого, и только они работали для меня на OS X. Все остальные примеры из ответов здесь дали мне ошибки Octal literal
.
Reset = "\x1b[0m"
Bright = "\x1b[1m"
Dim = "\x1b[2m"
Underscore = "\x1b[4m"
Blink = "\x1b[5m"
Reverse = "\x1b[7m"
Hidden = "\x1b[8m"
FgBlack = "\x1b[30m"
FgRed = "\x1b[31m"
FgGreen = "\x1b[32m"
FgYellow = "\x1b[33m"
FgBlue = "\x1b[34m"
FgMagenta = "\x1b[35m"
FgCyan = "\x1b[36m"
FgWhite = "\x1b[37m"
BgBlack = "\x1b[40m"
BgRed = "\x1b[41m"
BgGreen = "\x1b[42m"
BgYellow = "\x1b[43m"
BgBlue = "\x1b[44m"
BgMagenta = "\x1b[45m"
BgCyan = "\x1b[46m"
BgWhite = "\x1b[47m"
source: https://coderwall.com/p/yphywg/printing-colorful-text-in-terminal-when-run-node-js-script
Если вы используете Windows CMD, перейдите в раздел «Свойства / Цвета» (CMD вверху слева), а затем переопределите значение RGB оскорбительного цвета. В моем случае я считаю, что это пятый цветной квадрат слева, который я изменил на (222,222,222). Не имеет значения, отображает ли выбранный радиокнопка экранный текст или фоновый экран, поскольку вы просто переопределяете этот особый «системный» цвет. После изменения цвета не забудьте выбрать предпочтительный цвет фона или текста, прежде чем нажимать «ОК».
После изменения все эти красноватые сообщения от узла (Ember в моем случае) отчетливо видны.
var to_rgb = function (_text, _r, _g, _b) {
return "\x1b[38;2;" + _r + ";" + _g + ";" + _b + "m" + _text + "\x1b[0m";
};
этот код помогает установить цвет переднего плана: \ x1b [38; 2; R; G; Bm
это может не работать где-нибудь
Предоставляет функции для печати текстов в цвете, а также для форматирования текста, например, жирным шрифтом, миганием и т. д.
Это подход для Windows 10 (возможно, для 7), и он изменяет цветовую схему (тему) для самого cmd, npm-терминала, а не только для вывода на консоль для конкретного приложения.
Я нашел рабочий плагин Windows - Color Tool , который предположительно разработан под зонтиком Windows. Описание доступно по ссылке .
Я добавил каталог colortool в переменную пути к системной среде, и теперь он доступен, когда я запускаю терминал (командная строка NodeJs, cmd).
Я перегрузил консольные методы.
var colors={
Reset: "\x1b[0m",
Red: "\x1b[31m",
Green: "\x1b[32m",
Yellow: "\x1b[33m"
};
var infoLog = console.info;
var logLog = console.log;
var errorLog = console.error;
var warnLog = console.warn;
console.info= function(args)
{
var copyArgs = Array.prototype.slice.call(arguments);
copyArgs.unshift(colors.Green);
copyArgs.push(colors.Reset);
infoLog.apply(null,copyArgs);
};
console.warn= function(args)
{
var copyArgs = Array.prototype.slice.call(arguments);
copyArgs.unshift(colors.Yellow);
copyArgs.push(colors.Reset);
warnLog.apply(null,copyArgs);
};
console.error= function(args)
{
var copyArgs = Array.prototype.slice.call(arguments);
copyArgs.unshift(colors.Red);
copyArgs.push(colors.Reset);
errorLog.apply(null,copyArgs);
};
// examples
console.info("Numeros",1,2,3);
console.warn("pares",2,4,6);
console.error("reiniciandooo");
Вы также можете использовать colorworks .
Использование:
var cw = require('colorworks').create();
console.info(cw.compile('[[red|Red message with a [[yellow|yellow]] word.]]'));
Чтобы облегчить жизнь, вы также можете сделать с ней функцию.
function say(msg) {
console.info(cw.compile(msg));
}
Теперь вы можете сделать как
say(`[[yellow|Time spent: [[green|${time}]]ms.]]`);
для цветного вывода Вы можете использовать примеры оттуда: https://help.ubuntu.com/community/CustomizingBashPrompt
Также Gist для nodeJs
Например, если вы хотите часть текста красного цвета, просто выполните console.log с помощью:
"\033[31m this will be red \033[91m and this will be normal"
Основываясь на том, что я создал «colog», расширение для Node.js. Вы можете установить его, используя:
npm install colog
Repo и npm: https://github.com/dariuszp/colog
Reset: "\x1b[0m"
Bright: "\x1b[1m"
Dim: "\x1b[2m"
Underscore: "\x1b[4m"
Blink: "\x1b[5m"
Reverse: "\x1b[7m"
Hidden: "\x1b[8m"
FgBlack: "\x1b[30m"
FgRed: "\x1b[31m"
FgGreen: "\x1b[32m"
FgYellow: "\x1b[33m"
FgBlue: "\x1b[34m"
FgMagenta: "\x1b[35m"
FgCyan: "\x1b[36m"
FgWhite: "\x1b[37m"
BgBlack: "\x1b[40m"
BgRed: "\x1b[41m"
BgGreen: "\x1b[42m"
BgYellow: "\x1b[43m"
BgBlue: "\x1b[44m"
BgMagenta: "\x1b[45m"
BgCyan: "\x1b[46m"
BgWhite: "\x1b[47m"
Например, если вы хотите иметь Dim, Red текст с синим фоном, вы можете сделать это в Javascript следующим образом:
console.log("\x1b[2m", "\x1b[31m", "\x1b[44m", "Sample Text", "\x1b[0m");
Порядок цветов и эффектов кажется не таким важным, но всегда не забудьте сбросить цвета и эффекты в конце.
2017:
простой способ, добавив к сообщению время colord, вам не нужно менять код, используйте keep console.log ('msg') или console.err ('error ')
var clc = require("cli-color");
var mapping = {
log: clc.blue,
warn: clc.yellow,
error: clc.red
};
["log", "warn", "error"].forEach(function(method) {
var oldMethod = console[method].bind(console);
console[method] = function() {
oldMethod.apply(
console,
[mapping[method](new Date().toISOString())]
.concat(arguments)
);
};
});
Это очень удобно для использования или расширения. Вы можете использовать просто:
var coolors = require('coolors');
console.log(coolors('My cool console log', 'red'));
Или с конфигурацией:
var coolors = require('coolors');
console.log(coolors('My cool console log', {
text: 'yellow',
background: 'red',
bold: true,
underline: true,
inverse: true,
strikethrough: true
}));
И кажется действительно забавным продлить:
var coolors = require('coolors');
function rainbowLog(msg){
var colorsText = coolors.availableStyles().text;
var rainbowColors = colorsText.splice(3);
var lengthRainbowColors = rainbowColors.length;
var msgInLetters = msg.split('');
var rainbowEndText = '';
var i = 0;
msgInLetters.forEach(function(letter){
if(letter != ' '){
if(i === lengthRainbowColors) i = 0;
rainbowEndText += coolors(letter, rainbowColors[i]);
i++;
}else{
rainbowEndText += ' ';
}
});
return rainbowEndText;
}
coolors.addPlugin('rainbow', rainbowLog);
console.log(coolorsExtended('This its a creative example extending core with a cool rainbown style', 'rainbown'));
Для популярной альтернативы цветам , которые не воюют со встроенными методами объекта String, я рекомендую проверить cli-color .
Включает в себя как цвета, так и цепочки, такие как жирный, курсив и подчеркивание.
Для сравнения различных модулей этой категории см. здесь .
Есть два способа взглянуть на изменение цветов для консоли Node.js сегодня.
Один из них - это библиотеки общего назначения, которые могут украшать текстовую строку цветовыми тегами, которые затем выводятся через console.log
.
Лучшие библиотеки для сегодняшнего дня:
И другим способом - исправление существующих методов консоли. Одна из таких библиотек - manakin позволяет автоматически устанавливать стандартные цвета для всех ваших консольных методов (log
, warn
, error
и info
).
Один важный отличие от общих цветных библиотек - он может устанавливать цвета как глобально, так и локально, сохраняя согласованный синтаксис и формат вывода для каждого метода консоли Node.js, который затем используется без указания цветов, поскольку они все установлены автоматически.
Мне пришлось изменить цвет фона консоли на белый из-за проблем с глазами, но шрифт серого цвета и делает сообщения нечитаемыми. Как это изменить?
blockquote>В частности, для вашей проблемы, вот простейшее решение:
var con = require('manakin').global; con.log.color = 30; // Use black color for console.log
Он установит черный цвет для каждого звонка
console.log
в вашем заявление. См. больше цветовых кодов .Стандартные цвета, используемые manakin :
Нет библиотек без осложнений:
console.log(red('Error!'));
function red(s) {
return '\033[31m' + s;
}