Skip to content

Commit 7bc337b

Browse files
committed
not raise error when partion_on is used in fastparquet
add a blank line before the versionadded
1 parent 14a2580 commit 7bc337b

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

pandas/core/frame.py

+1
Original file line numberDiff line numberDiff line change
@@ -2004,6 +2004,7 @@ def to_parquet(self, fname, engine='auto', compression='snappy',
20042004
Columns are partitioned in the order they are given
20052005
The behaviour applies only to pyarrow >= 0.7.0 and fastparquet
20062006
For other versions, this argument will be ignored.
2007+
20072008
.. versionadded:: 0.24.0
20082009
20092010
**kwargs

pandas/io/parquet.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,8 @@ def write(self, df, path, compression='snappy', index=None,
225225
# Use tobytes() instead.
226226

227227
if 'partition_on' in kwargs:
228-
raise ValueError("must use 'partition_cols' instead of 'partition_on'")
228+
partition_cols = kwargs['partition_on']
229+
del kwargs['partition_on']
229230

230231
if partition_cols is not None:
231232
kwargs['file_scheme'] = 'hive'

pandas/tests/io/test_parquet.py

+15-12
Original file line numberDiff line numberDiff line change
@@ -491,15 +491,14 @@ def test_partition_cols_supported(self, pa_ge_070, df_full):
491491
assert len(dataset.partitions.partition_names) == 2
492492
assert dataset.partitions.partition_names == set(partition_cols)
493493

494-
def test_ignore_partition_cols_lt_070(self, pa_lt_070, df_full):
494+
def test_partition_cols_not_supported_pa_lt_70(self, pa_lt_070, df_full):
495495
# GH #23283
496496
partition_cols = ['bool', 'int']
497-
pa = pa_lt_070
498497
df = df_full
499-
with tm.ensure_clean_dir() as path:
500-
df.to_parquet(path, partition_cols=partition_cols,
501-
compression=None)
502-
pytest.raises(ValueError)
498+
with pytest.raises(ValueError):
499+
with tm.ensure_clean_dir() as path:
500+
df.to_parquet(path, partition_cols=partition_cols,
501+
compression=None)
503502

504503

505504
class TestParquetFastParquet(Base):
@@ -572,17 +571,21 @@ def test_partition_cols_supported(self, fp, df_full):
572571
partition_cols = ['bool', 'int']
573572
df = df_full
574573
with tm.ensure_clean_dir() as path:
575-
df.to_parquet(path, partition_cols=partition_cols,
576-
compression=None)
574+
df.to_parquet(path, engine="fastparquet",
575+
partition_cols=partition_cols, compression=None)
577576
assert os.path.exists(path)
578577
import fastparquet
579578
actual_partition_cols = fastparquet.ParquetFile(path, False).cats
580579
assert len(actual_partition_cols) == 2
581580

582-
def test_partition_on_not_supported(self, fp, df_full):
581+
def test_partition_on_supported(self, fp, df_full):
583582
# GH #23283
584583
partition_cols = ['bool', 'int']
585584
df = df_full
586-
with pytest.raises(ValueError):
587-
df.to_parquet("", compression=None,
588-
partition_on=partition_cols)
585+
with tm.ensure_clean_dir() as path:
586+
df.to_parquet(path, engine="fastparquet", compression=None,
587+
partition_on=partition_cols)
588+
assert os.path.exists(path)
589+
import fastparquet
590+
actual_partition_cols = fastparquet.ParquetFile(path, False).cats
591+
assert len(actual_partition_cols) == 2

0 commit comments

Comments
 (0)