Es gibt den Key `skip 0.` für `\pgfmathprintnumber`. Dieser mach fast genau das, was gewünscht ist, allerdings für alle Zellen. Der Key speichert seinen Wahrheitswert in `\ifpgfmathprintnumberskipzeroperiod`. Diesen setzt man einfach nach der ersten Zelle auf `true`. Damit die nächste Tabelle nicht beeinflusst wird, sollte er danach auf `false` zurückgesetzt werden. Um `0.`zu ersetzen bedarf es etwas mehr Arbeit, da man die Funktionsweise von `\pgfmathprintnumber`anpassen `\pgfmathprintnumber` anpassen muss. Dazu habe ich `\ifpgfmathprintnumberskipperiodandaddphantom`eingeführt, `\ifpgfmathprintnumberskipperiodandaddphantom` eingeführt, was statt dem Dezimaltrenner `\phantom{0.}`ausgibt.
*N.B.:* Um ehrlich zu sein sehe ich den Absicht dahinter nicht. Für mich macht die Notation keinen Sinn und verwirrt zudem. Warum ist der erste Wert 0.1234 und der zweite 5500? Ich bin mir absolut sicher, dass die Mehrzahl der Leser nicht kapiert, dass die 5500 *nur* die Nachkommastellen sein sollen.
%\documentclass[paper=a5]{scrartcl}
\documentclass[varwidth, border=2pt]{standalone}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\begin{document}
\begin{filecontents}{kTest2.txt}
0 0.1234 0.1000
1 0.5500 0.532
2 0.0789 0.75
\end{filecontents}
\makeatletter
\newif\ifpgfmathprintnumberskipzeroperiodandaddphantom
\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@period#1.#2\pgfmathfloat@EOI{%
\ifpgfmathprintnumberskipzeroperiodandaddphantom
\pgfmathprintnumberskipzeroperiodtrue
\fi
\ifpgfmathprintnumberskipzeroperiod
\def\pgfmathfloat@loc@TMPb{#1}%
\ifx\pgfmathfloatparsenumber@tok@ZERO\pgfmathfloat@loc@TMPb
\else
\def\pgfmathfloat@loc@TMPc{-0}%
\ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb
\def\pgfmathresult{-}%
\else
\def\pgfmathfloat@loc@TMPc{+0}%
\ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb
\def\pgfmathresult{+}%
\else
\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI
\fi
\fi
\fi
\else
\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI
\fi
\ifpgfmathprintnumber@thousand@sep@in@fractional
\let\pgfmathresultfractional\pgfutil@empty%
\pgfmathprintnumber@thousand@sep@in@fractional#2MMMM\@@
\else
\def\pgfmathresultfractional{#2}%
\fi
\begingroup
\toks0=\expandafter{\pgfmathresult}%
\toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP@MARK}%
\ifpgfmathprintnumberskipzeroperiodandaddphantom
\toks2=\expandafter{\expandafter\phantom\expandafter{\expandafter0\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP}}
\else
\toks2=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP}%
\fi
\toks3=\expandafter{\pgfmathresultfractional}%
\xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 \the\toks2 \the\toks3 }%
\endgroup
\let\pgfmathresult=\pgfmathfloat@glob@TMP
}%
\makeatother
\pgfplotstableset{
skip 0. for all but first/.style = {
postproc cell content/.code={
\ifnum\pgfplotstablecol>0
\global\pgfmathprintnumberskipzeroperiodandaddphantomtrue
\fi
}
},
}
\pgfplotstableset{
fixed zerofill, precision=4, skip 0. for all but first,
columns/0/.style = {column name = k, precision=0},
columns/1/.style = {column name = p},
columns/2/.style = {column name = q},
}%%
\pgfplotstabletypeset[columns = {0,1,2}]{kTest2.txt}
%\pgfmathprintnumberskipzeroperiodandaddphantomfalse % reenable decial separator
\end{document}
> ![alt text][1]
[1]: http://texwelt.de/wissen/upfiles/test_48.png