Skip to content

Commit 7dbaff7

Browse files
author
y-p
committed
Merge pull request #5733 from nmichaud/read_table_prefix_fix
Fix prefix argument for read_csv/read_table
2 parents 230a899 + 48ee1ec commit 7dbaff7

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

pandas/io/parsers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -980,7 +980,7 @@ def __init__(self, src, **kwds):
980980

981981
if self.names is None:
982982
if self.prefix:
983-
self.names = ['X%d' % i
983+
self.names = ['%s%d' % (self.prefix, i)
984984
for i in range(self._reader.table_width)]
985985
else:
986986
self.names = lrange(self._reader.table_width)
@@ -1571,7 +1571,7 @@ def _infer_columns(self):
15711571
num_original_columns = ncols
15721572
if not names:
15731573
if self.prefix:
1574-
columns = [['X%d' % i for i in range(ncols)]]
1574+
columns = [['%s%d' % (self.prefix,i) for i in range(ncols)]]
15751575
else:
15761576
columns = [lrange(ncols)]
15771577
columns = self._handle_usecols(columns, columns[0])

pandas/io/tests/test_parsers.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -968,6 +968,22 @@ def test_no_header(self):
968968

969969
self.assert_(np.array_equal(df2.columns, names))
970970

971+
def test_no_header_prefix(self):
972+
data = """1,2,3,4,5
973+
6,7,8,9,10
974+
11,12,13,14,15
975+
"""
976+
df_pref = self.read_table(StringIO(data), sep=',', prefix='Field',
977+
header=None)
978+
979+
expected = [[1, 2, 3, 4, 5.],
980+
[6, 7, 8, 9, 10],
981+
[11, 12, 13, 14, 15]]
982+
tm.assert_almost_equal(df_pref.values, expected)
983+
984+
self.assert_(np.array_equal(df_pref.columns,
985+
['Field0', 'Field1', 'Field2', 'Field3', 'Field4']))
986+
971987
def test_header_with_index_col(self):
972988
data = """foo,1,2,3
973989
bar,4,5,6

0 commit comments

Comments
 (0)