@@ -98,7 +98,7 @@ def _to_index_cols(
9898
9999def _check_column_duplicates (
100100 index_cols : Iterable [str ], columns : Iterable [str ], is_index_in_columns : bool
101- ) -> List [str ]:
101+ ) -> Iterable [str ]:
102102 index_cols_list = list (index_cols ) if index_cols is not None else []
103103 columns_list = list (columns ) if columns is not None else []
104104 set_index = set (index_cols_list )
@@ -111,7 +111,7 @@ def _check_column_duplicates(
111111 )
112112
113113 if len (columns_list ) == 0 :
114- return columns_list
114+ return columns
115115
116116 if len (columns_list ) > len (set_columns ):
117117 raise ValueError (
@@ -125,14 +125,14 @@ def _check_column_duplicates(
125125 f"The specified index column(s) were not found: { set_index - set_columns } . "
126126 f"Available columns are: { set_columns } "
127127 )
128- return list ( set_columns - set_index )
128+ return [ col for col in columns if col not in set_index ]
129129 else :
130130 if not set_index .isdisjoint (set_columns ):
131131 raise ValueError (
132132 "Found column names that exist in both 'index_col' and 'columns' arguments. "
133133 "These arguments must specify distinct sets of columns."
134134 )
135- return columns_list
135+ return columns
136136
137137
138138@dataclasses .dataclass
@@ -533,7 +533,9 @@ def read_gbq_table(
533533 index_col = index_col ,
534534 names = names ,
535535 )
536- columns = _check_column_duplicates (index_cols , columns , is_index_in_columns )
536+ columns = list (
537+ _check_column_duplicates (index_cols , columns , is_index_in_columns )
538+ )
537539
538540 for key in index_cols :
539541 if key not in table_column_names :
0 commit comments