Canon PIXMA MP550 Tintenstrahldrucker mit Multifunktionssystem

Canons mittelgroßer PIXMA Büro- und Fotodrucker verarbeitet sowohl Text- als auch Vollfarbbilder gut.

 

Canon Drucker

Vorteile

-Gute Fotoabzüge in guter Qualität, schnelles Scannen der Bilder

Nachteile

-Kleiner Farbbildschirm ist nicht gut für die Überprüfung von Fotos.

Fazit

Der PIXMA MP550 von Canon ist ein gut durchdachter Tintenstrahl-Multifunktionsdrucker mit nur wenigen Fehlern. Das Tastenlayout kann verwirrend sein und Sie mögen den kleinen Bildschirm ein wenig frustrierend finden, aber es ist ein kompetenter Scanner und Drucker.

 

Im Detail

Der Canon PIXMA MP550 ist ein Tintenstrahl-Multifunktionsdrucker, der für Privatanwender entwickelt wurde. Er ist mehr als doppelt so teuer wie der Einsteiger-PIXMA MP270, der auch Scan- und Kopierfunktionen bietet. Sie bietet jedoch einen deutlich besseren Fotodruck, einen besseren Scanner und eine intuitivere (und dennoch unvollkommene) Oberfläche.

Wie die Modelle MP270, MP640, MP560, MP490 und MP990 hat auch der Canon Drucker MP550 ein unauffälliges Design. Sein Finish und seine Konstruktion ist etwas besser als das billigere MP270, mit einem metallischen Silberfinish und glänzenden schwarzen Akzenten. Der wichtigste Unterschied ist die Integration einer grafischen Benutzeroberfläche auf dem 2-Zoll-Farb-LCD-Bildschirm. Es kann über eine Vielzahl von Tasten und ein Klickrad im Apple-Stil gesteuert werden.

Die Schnittstelle des Canon PIXMA MP550 ist dem Display des MP270 im VCR-Stil sicherlich überlegen, aber es gibt immer noch zu viele Tasten. Glücklicherweise sind die Tasten klar beschriftet, und die meisten Funktionen können mit dem Click Wheel und der zentralen OK-Taste ausgeführt werden. Das 2-Zoll-LCD ist relativ hell und klar, aber es ist nur für die Anzeige von Textanweisungen geeignet. Wenn Sie Fotos zum Drucken von einer Speicherkarte auswählen, kann es schwierig sein, ein Miniaturbild von einem anderen zu unterscheiden.

Text- und Fotoabzüge vom Canon PIXMA MP550 sind durchaus sinnvoll. Beim Vergleich der Ausgabe des MP550 mit dem Canon PIXMA MP270 haben wir beispielsweise erhebliche Vorteile im Detail und in der Druckkonsistenz festgestellt. Vertikale Streifen auf Landschaftsbildern waren entweder winzig klein oder völlig fehlend, und wir konnten keine signifikanten Posterisierungsartefakte in Bereichen mit komplexer Abstufung unterscheiden.

Die Druckgeschwindigkeit des Canon PIXMA MP550 war weder zu langsam noch blendend schnell. In unseren Tests wurden sehr vernünftige 9,1 Seiten pro Minute im Standardmodus für Text und 6 Seiten pro Minute für Farbgrafiken erreicht. Die von vorne einlegende Papierkassette kann bis zu 300 Blatt aufnehmen, so dass Nachfüllungen in einem Heimbüro selten vorkommen sollten. Eine von oben einlegende hintere Kassette wird für Fotopapier verwendet. Mit dem richtigen Treiber für Drucker Canon können Sie nie was falsch machen und die Drucker der Marke laufen verhältnismäßig einwandfrei.

Kosten Verbrauchsmaterial

Der Canon PIXMA MP550 verwendet insgesamt fünf Tintenpatronen – vier für den Farbdruck und einen doppelgroßen schwarzen Tank für Text. Ein kompletter Satz Original-Ersatzkassetten von Canon bringt Ihnen 114,75 US-Dollar ein, was zu Gesamtkosten von 20,8 Cent pro gedruckter A4-Seite führt. Dies entspricht dem Niveau der Home Office Inkjetdrucker anderer großer Hersteller.

Das Scannen mit dem PIXMA MP550 ist sowohl leise als auch schnell. Unsere 600 dpi Testscans zeigten eine angemessene Detailtreue mit gut lesbarem Text und einigen feinen Bilddetails in gescannten A4-Fotos. Sie können auch direkt an den frontseitig angebrachten USB-Anschluss oder Speicherkartensteckplätze scannen.

Der Canon PIXMA MP550 ist ein leistungsfähiger Drucker und Scanner. Sein Steuerungssystem mag ein wenig Aufwand erfordern, aber die Bilder, die es produziert, sind detailliert und lebendig. Der Text wird problemlos und in angemessener Geschwindigkeit gedruckt – er bewältigt problemlos die üblichen Büro- und Heimarbeiten.

Schreiben einer Create Table-Anweisung mit Python und Laden eines CSV in Redshift

Normalerweise, wenn ich ein CSV hochladen muss, werde ich die CSV-Funktion von Periscope Data verwenden. Es ist schnell, einfach, erlaubt es mir, die Daten mit allen meinen Datenbanken zu verbinden und gießt automatisch Typen.

Manchmal interagiere ich jedoch gerne direkt mit einem Redshift-Cluster – meist für komplexe Datentransformationen und Modellierung in Python. Wenn Sie direkt mit einer Datenbank interagieren, kann es schwierig sein, eine create

table-Anweisung zu schreiben und Ihre Daten zu laden. Wenn die Tabelle breit ist, haben Sie beim Schreiben Ihrer Kreiertabelle zwei Möglichkeiten – verbringen Sie die Zeit damit, die richtigen Datentypen herauszufinden, oder importieren

Sie alles langsam als Text und befassen Sie sich mit dem Typ Casting in SQL. Das erste ist langsam, und das zweite wird dich in Schwierigkeiten bringen.

Ich bin kürzlich auf ein großartiges Beispiel dafür gestoßen, als ich herausfand, dass Stack Overflow ihre fantastischen Umfrageergebnisse für 2017 veröffentlicht hat. Sie sind im CSV-Format verfügbar, aber mit einer beeindruckenden

Breite von 158 Spalten. Ich wollte die Daten in Redshift laden – und anstatt großzügig in meinen Datentypen zu sein, wollte ich die richtigen Spalten verwenden. Ich entschied mich, den Ladevorgang zu beschleunigen, indem ich ein

Python-Skript schrieb um eine Python Tabelle erstellen zu können, wassich zu einer lustigen Übung in der Datentyperkennung entwickelte.

Bibliotheken importieren und Daten in Python lesen

Der erste Schritt besteht darin, unsere Daten zu laden, unsere Bibliotheken zu importieren und die Daten in ein CSV-Leserobjekt zu laden. Die CSV-Bibliothek wird verwendet, um über die Daten zu iterieren, und die Ast-Bibliothek wird verwendet, um den Datentyp zu bestimmen.

 

Wir werden auch einige Listen verwenden. „Longest“ ist eine Liste der längsten Werte in der Zeichenlänge, um die Kapazität der Varchar-Spalte anzugeben, „Header“ ist eine Liste der Spaltennamen und „type_list“ ist die aktualisierte Liste der Spaltentypen, die wir über unsere Daten wiederholen.

csv, ast, psycopg2 importieren

f = open(‚/path/to/survey/data/survey_data.csv‘, ‚r‘)

Leser = csv.reader(f)

am längsten, Überschriften, Typ_Liste = [], [], [], [], []

Auffinden des Datentyps

Sobald wir unsere Daten haben, müssen wir den Datentyp für jede Zeile finden. Das bedeutet, dass wir jeden Wert bewerten und auf die restriktivste Option setzen müssen, von dezimalisierten Zahlen bis zu ganzen Zahlen und von ganzen Zahlen bis zu Zeichenketten.

Dies geschieht mit der Funktion dataType. Zuerst wird geprüft, ob es sich bei dem Wert um Text oder eine Zahl handelt, und dann bei Bedarf um die entsprechende Art von Zahl. Diese Funktion verbraucht sowohl die neuen Daten als auch den aktuell besten Typ, gegen den Sie auswerten können.

def dataType(val, current_type):

versuche es:

# Bewertet Zahlen zu einem geeigneten Typ und gibt einen Fehler zurück.

       t = ast.literal_eval(val)

   außer ValueError:

       gibt’varchar‘ zurück

   außer SyntaxError:

       gibt’varchar‘ zurück

   wenn type(t) in [int, long, float]:

       if (type(t) in [int, long]) und current_type nicht in [‚float‘, ‚varchar‘]:

           # Verwenden Sie den kleinstmöglichen int Typ

           if (-32768 < t < 32767) und current_type nicht in [‚int‘, ‚bigint‘]:

               return’smallint‘ zurückgeben

           elif (-2147483648 < t < 2147483647) und current_type nicht in [‚bigint‘]:

               zurückgeben „int

           sonst:

               return ‚bigint‘ zurückgeben

     wenn type(t) float und current_type nicht in [‚varchar‘] ist:

           gibt’dezimal‘ zurück

sonst:

  gibt’varchar‘ zurück

Wir können über die Zeilen in unserem CSV iterieren, unsere Funktion oben aufrufen und unsere Listen füllen.

für die Zeile im Leser:

   if len(headers) == 0:

       Überschriften = Zeile

       für Spalte in Zeile:

           längste.append(0)

           type_list.append(“‘)

   sonst:

       für i in range(len(row)):

           # NA ist der csv-Nullwert.

           wenn type_list[i] ==’varchar‘ oder row[i] ==’NA‘:

               Durchlauf

           sonst:

               var_type = dataType(row[i], type_list[i])

               typ_liste[i] = var_type

       wenn len(row[i]) > längster[i]:

           längste[i] = len(row[i])

f.close()

 

Und verwenden Sie unsere Listen, um die SQL-Anweisung zu schreiben.

Anweisung =’create table stack_overflow_survey (‚)

für i im Bereich(len(headers)):

   if type_list[i] ==’varchar‘:

       Anweisung = (Anweisung +’\n{} varchar({}),‘).format(headers[i].lower(), str(longest[i])))

   sonst:

       statement = (statement + ‚\n‘ + ‚{} {}‘ + ‚,‘).format(headers[i].lower(), type_list[i])

statement = statement[:-1] + ‚);‘;‘

Endlich, unser Output!

Erstellen der Tabelle stack_overflow_survey_data (

   Befragte int,

   , professioneller Varchar(56)

   Programmhobby varchar(45)

   Land varchar(34)

   ….

   , erwartete geldliche Dezimalstelle);

Beenden des Auftrags

Natürlich ist der Job nicht erledigt – die Daten müssen in Redshift kommen! Dies kann mit Hilfe der psycopg2-Bibliothek geschehen, und der schlaue Leser wird feststellen, dass wir es oben importiert haben. Um den Kopierbefehl zu verwenden, habe ich zuerst die Daten nach S3 geladen. Die Zugangsschlüssel-ID und der geheime Zugangsschlüssel finden Sie unter den Benutzern in Ihrer AWS-Konsole.