@@ -195,7 +195,7 @@ def __new__(cls, *args, **kwargs):
195195 if args [0 ].startswith ('https://' ) or args [0 ].startswith ('http://' ):
196196 return cls .from_url (args [0 ], ** kwargs )
197197 else :
198- return cls .from_file (args [0 ], ** kwargs )
198+ return cls .from_file (args [0 ])
199199 elif isinstance (args [0 ], Table ):
200200 return cls .from_table (args [0 ].domain , args [0 ])
201201 elif isinstance (args [0 ], Domain ):
@@ -545,19 +545,22 @@ def save(self, filename):
545545 writer .write_file (filename , self )
546546
547547 @classmethod
548- def from_file (cls , filename ):
548+ def from_file (cls , filename , sheet = None ):
549549 """
550550 Read a data table from a file. The path can be absolute or relative.
551551
552552 :param filename: File name
553553 :type filename: str
554+ :param sheet: Sheet in a file (optional)
555+ :type sheet: str
554556 :return: a new data table
555557 :rtype: Orange.data.Table
556558 """
557559 from Orange .data .io import FileFormat
558560
559561 absolute_filename = FileFormat .locate (filename , dataset_dirs )
560562 reader = FileFormat .get_reader (absolute_filename )
563+ reader .select_sheet (sheet )
561564 data = reader .read ()
562565
563566 # Readers return plain table. Make sure to cast it to appropriate
0 commit comments