diff --git a/pysparkling/sql/internal_utils/readers/utils.py b/pysparkling/sql/internal_utils/readers/utils.py
index <HASH>..<HASH> 100644
--- a/pysparkling/sql/internal_utils/readers/utils.py
+++ b/pysparkling/sql/internal_utils/readers/utils.py
@@ -1,10 +1,29 @@
 from pysparkling.fileio import TextFile
 from pysparkling.sql.casts import get_caster
-from pysparkling.sql.types import IntegerType, LongType, DecimalType, \
+from pysparkling.sql.types import StructType, StructField, IntegerType, LongType, DecimalType, \
     DoubleType, TimestampType, StringType
 from pysparkling.sql.utils import AnalysisException
 
 
+def guess_schema_from_strings(schema_fields, data, options):
+    field_values = [
+        (field, [row[field] for row in data])
+        for field in schema_fields
+    ]
+
+    field_types_and_values = [
+        (field, guess_type_from_values_as_string(values, options))
+        for field, values in field_values
+    ]
+
+    schema = StructType(fields=[
+        StructField(field, field_type)
+        for field, field_type in field_types_and_values
+    ])
+
+    return schema
+
+
 def guess_type_from_values_as_string(values, options):
     # Reproduces inferences available in Spark
     # PartitioningUtils.inferPartitionColumnValue()
Add an util to guess schema from stringified values