Cmdlet
Import-OfficeCsv
Imports CSV rows as PSCustomObjects, dictionaries, or a DataTable.
Syntax
Import-OfficeCsv [-AllowEmptyLines] [-AsDataReader] [-AsDataTable] [-AsHashtable] [-CollectParseErrors] [-ColumnCountMismatchPolicy <Strict|PadMissingFieldsAndIgnoreExtraFields>] [-ColumnType <IDictionary>] [-CommentCharacter <Char>] [-CompressionType <Auto|GZip|Deflate|Brotli|ZLib>] [-Culture <CultureInfo>] [-DateTimeFormats <String[]>] [-Delimiter <Char>] [-DelimiterText <String>] [-DuplicateHeaderBehavior <Preserve|Rename|Throw>] [-Encoding <Encoding>] [-Header <String[]>] [-InferSchema] [-InternStrings] [-MaxDecompressedBytes <Int64>] [-MaxFieldLength <Int32>] [-MaxParseErrors <Int32>] [-MaxQuotedFieldLength <Int32>] [-Mode <Stream|InMemory>] [-NoHeader] [-NormalizeQuotes] [-NullValue <String>] [-ParseErrorAction <Throw|SkipRow>] [-Path] <String[]> [-ProgressInterval <Int32>] [-QuoteParsingMode <Lenient|Strict>] [-RecognizeW3CFieldsHeader <Boolean>] [-SchemaSampleSize <Int32>] [-SkipCommentRows] [-SkipCommentRowsBeforeHeader <Boolean>] [-SkipRows <Int32>] [-StaticColumns <IDictionary>] [-TrimWhitespace <Boolean>] [<CommonParameters>]#Parameter set:
PathDelimiterImport-OfficeCsv [-AsDataReader] [-AsDataTable] [-AsHashtable] [-CollectParseErrors] [-ColumnType <IDictionary>] [-Document <CsvDocument>] [-InferSchema] [-InternStrings] [-MaxFieldLength <Int32>] [-MaxParseErrors <Int32>] [-MaxQuotedFieldLength <Int32>] [-NormalizeQuotes] [-ParseErrorAction <Throw|SkipRow>] [-ProgressInterval <Int32>] [-SchemaSampleSize <Int32>] [<CommonParameters>]#Parameter set:
DocumentImport-OfficeCsv [-AllowEmptyLines] [-AsDataReader] [-AsDataTable] [-AsHashtable] [-CollectParseErrors] [-ColumnCountMismatchPolicy <Strict|PadMissingFieldsAndIgnoreExtraFields>] [-ColumnType <IDictionary>] [-CommentCharacter <Char>] [-CompressionType <Auto|GZip|Deflate|Brotli|ZLib>] [-Culture <CultureInfo>] [-DateTimeFormats <String[]>] [-DuplicateHeaderBehavior <Preserve|Rename|Throw>] [-Encoding <Encoding>] [-Header <String[]>] [-InferSchema] [-InternStrings] [-MaxDecompressedBytes <Int64>] [-MaxFieldLength <Int32>] [-MaxParseErrors <Int32>] [-MaxQuotedFieldLength <Int32>] [-Mode <Stream|InMemory>] [-NoHeader] [-NormalizeQuotes] [-NullValue <String>] [-ParseErrorAction <Throw|SkipRow>] [-Path] <String[]> [-ProgressInterval <Int32>] [-QuoteParsingMode <Lenient|Strict>] [-RecognizeW3CFieldsHeader <Boolean>] [-SchemaSampleSize <Int32>] [-SkipCommentRows] [-SkipCommentRowsBeforeHeader <Boolean>] [-SkipRows <Int32>] [-StaticColumns <IDictionary>] [-TrimWhitespace <Boolean>] -UseCulture [<CommonParameters>]#Parameter set:
PathCultureImport-OfficeCsv [-AllowEmptyLines] [-AsDataReader] [-AsDataTable] [-AsHashtable] [-CollectParseErrors] [-ColumnCountMismatchPolicy <Strict|PadMissingFieldsAndIgnoreExtraFields>] [-ColumnType <IDictionary>] [-CommentCharacter <Char>] [-CompressionType <Auto|GZip|Deflate|Brotli|ZLib>] [-Culture <CultureInfo>] [-DateTimeFormats <String[]>] [-DelimiterCandidates <Char[]>] -DetectDelimiter [-DuplicateHeaderBehavior <Preserve|Rename|Throw>] [-Encoding <Encoding>] [-Header <String[]>] [-InferSchema] [-InternStrings] [-MaxDecompressedBytes <Int64>] [-MaxFieldLength <Int32>] [-MaxParseErrors <Int32>] [-MaxQuotedFieldLength <Int32>] [-Mode <Stream|InMemory>] [-NoHeader] [-NormalizeQuotes] [-NullValue <String>] [-ParseErrorAction <Throw|SkipRow>] [-Path] <String[]> [-ProgressInterval <Int32>] [-QuoteParsingMode <Lenient|Strict>] [-RecognizeW3CFieldsHeader <Boolean>] [-SchemaSampleSize <Int32>] [-SkipCommentRows] [-SkipCommentRowsBeforeHeader <Boolean>] [-SkipRows <Int32>] [-StaticColumns <IDictionary>] [-TrimWhitespace <Boolean>] [<CommonParameters>]#Parameter set:
PathDetectImport-OfficeCsv [-AllowEmptyLines] [-AsDataReader] [-AsDataTable] [-AsHashtable] [-CollectParseErrors] [-ColumnCountMismatchPolicy <Strict|PadMissingFieldsAndIgnoreExtraFields>] [-ColumnType <IDictionary>] [-CommentCharacter <Char>] [-CompressionType <Auto|GZip|Deflate|Brotli|ZLib>] [-Culture <CultureInfo>] [-DateTimeFormats <String[]>] [-Delimiter <Char>] [-DelimiterText <String>] [-DuplicateHeaderBehavior <Preserve|Rename|Throw>] [-Encoding <Encoding>] [-Header <String[]>] [-InferSchema] [-InternStrings] -LiteralPath <String[]> [-MaxDecompressedBytes <Int64>] [-MaxFieldLength <Int32>] [-MaxParseErrors <Int32>] [-MaxQuotedFieldLength <Int32>] [-Mode <Stream|InMemory>] [-NoHeader] [-NormalizeQuotes] [-NullValue <String>] [-ParseErrorAction <Throw|SkipRow>] [-ProgressInterval <Int32>] [-QuoteParsingMode <Lenient|Strict>] [-RecognizeW3CFieldsHeader <Boolean>] [-SchemaSampleSize <Int32>] [-SkipCommentRows] [-SkipCommentRowsBeforeHeader <Boolean>] [-SkipRows <Int32>] [-StaticColumns <IDictionary>] [-TrimWhitespace <Boolean>] [<CommonParameters>]#Parameter set:
LiteralPathDelimiterImport-OfficeCsv [-AllowEmptyLines] [-AsDataReader] [-AsDataTable] [-AsHashtable] [-CollectParseErrors] [-ColumnCountMismatchPolicy <Strict|PadMissingFieldsAndIgnoreExtraFields>] [-ColumnType <IDictionary>] [-CommentCharacter <Char>] [-CompressionType <Auto|GZip|Deflate|Brotli|ZLib>] [-Culture <CultureInfo>] [-DateTimeFormats <String[]>] [-DuplicateHeaderBehavior <Preserve|Rename|Throw>] [-Encoding <Encoding>] [-Header <String[]>] [-InferSchema] [-InternStrings] -LiteralPath <String[]> [-MaxDecompressedBytes <Int64>] [-MaxFieldLength <Int32>] [-MaxParseErrors <Int32>] [-MaxQuotedFieldLength <Int32>] [-Mode <Stream|InMemory>] [-NoHeader] [-NormalizeQuotes] [-NullValue <String>] [-ParseErrorAction <Throw|SkipRow>] [-ProgressInterval <Int32>] [-QuoteParsingMode <Lenient|Strict>] [-RecognizeW3CFieldsHeader <Boolean>] [-SchemaSampleSize <Int32>] [-SkipCommentRows] [-SkipCommentRowsBeforeHeader <Boolean>] [-SkipRows <Int32>] [-StaticColumns <IDictionary>] [-TrimWhitespace <Boolean>] -UseCulture [<CommonParameters>]#Parameter set:
LiteralPathCultureImport-OfficeCsv [-AllowEmptyLines] [-AsDataReader] [-AsDataTable] [-AsHashtable] [-CollectParseErrors] [-ColumnCountMismatchPolicy <Strict|PadMissingFieldsAndIgnoreExtraFields>] [-ColumnType <IDictionary>] [-CommentCharacter <Char>] [-CompressionType <Auto|GZip|Deflate|Brotli|ZLib>] [-Culture <CultureInfo>] [-DateTimeFormats <String[]>] [-DelimiterCandidates <Char[]>] -DetectDelimiter [-DuplicateHeaderBehavior <Preserve|Rename|Throw>] [-Encoding <Encoding>] [-Header <String[]>] [-InferSchema] [-InternStrings] -LiteralPath <String[]> [-MaxDecompressedBytes <Int64>] [-MaxFieldLength <Int32>] [-MaxParseErrors <Int32>] [-MaxQuotedFieldLength <Int32>] [-Mode <Stream|InMemory>] [-NoHeader] [-NormalizeQuotes] [-NullValue <String>] [-ParseErrorAction <Throw|SkipRow>] [-ProgressInterval <Int32>] [-QuoteParsingMode <Lenient|Strict>] [-RecognizeW3CFieldsHeader <Boolean>] [-SchemaSampleSize <Int32>] [-SkipCommentRows] [-SkipCommentRowsBeforeHeader <Boolean>] [-SkipRows <Int32>] [-StaticColumns <IDictionary>] [-TrimWhitespace <Boolean>] [<CommonParameters>]#Parameter set:
LiteralPathDetectDescription
Uses the CSV header to map fields to property names.
Examples
Read rows as PSCustomObjects.
Import-OfficeCsv -Path .\data.csv | Format-TableImports each row as a PSCustomObject.
Read rows as dictionaries.
Import-OfficeCsv -Path .\data.csv -AsHashtable | ForEach-Object { $_['Name'] }Uses hashtables for dynamic schemas or key-based access.
Read rows as a DataTable.
Import-OfficeCsv -Path .\data.csv -AsDataTableEmits one DataTable per input file for database and table-oriented workflows.
Parameters
- -AllowEmptyLines SwitchParameter
- Allow empty lines in the input.
- -AsDataReader SwitchParameter
- Emit a forward-only IDataReader for database bulk-copy workflows.
- -AsDataTable SwitchParameter
- Emit one DataTable per input file instead of enumerating row objects.
- -AsHashtable SwitchParameter
- Emit dictionaries instead of PSCustomObjects.
- -CollectParseErrors SwitchParameter
- Collect parse errors and write them as non-terminating errors after each file.
- -ColumnCountMismatchPolicy CsvColumnCountMismatchPolicy
- Controls how rows with fewer or more fields than the header are handled.
- Possible values:
Strict,PadMissingFieldsAndIgnoreExtraFields - -ColumnType IDictionary
- Explicit column types used when emitting DataTable or IDataReader output.
- -CommentCharacter Char
- Character that identifies comment rows.
- -CompressionType CsvCompressionType
- Compression used when reading files. Auto infers from the file extension.
- Possible values:
Auto,GZip,Deflate,Brotli,ZLib - -Culture CultureInfo
- Culture used for type conversions.
- -DateTimeFormats String[]
- Additional date/time formats used by typed conversions and validation.
- -Delimiter Char
- Field delimiter character.
- -DelimiterText String
- Field delimiter text for multi-character delimiters such as || or ::.
- -DuplicateHeaderBehavior CsvDuplicateHeaderBehavior
- Controls how duplicate header names are handled.
- Possible values:
Preserve,Rename,Throw - -Encoding Encoding
- Encoding used when reading the file.
- -Header String[]
- Explicit header names to use; when provided, the first CSV record is treated as data.
- -InferSchema SwitchParameter
- Infer typed columns when -AsDataTable or -AsDataReader is used.
- -InternStrings SwitchParameter
- Reuse repeated string values through a per-read cache.
- -MaxDecompressedBytes Int64
- Maximum decompressed bytes to read from compressed CSV files.
- -MaxFieldLength Int32
- Maximum length allowed for any parsed field.
- -MaxParseErrors Int32
- Maximum number of collected parse errors before parsing fails.
- -MaxQuotedFieldLength Int32
- Maximum length allowed for fields parsed from quoted records.
- -Mode CsvReadMode
- Load mode controlling materialization.
- Possible values:
Stream,InMemory - -NoHeader SwitchParameter
- Treat the first record as data and generate default column names.
- -NormalizeQuotes SwitchParameter
- Normalize curly quote characters to straight quotes.
- -NullValue String
- Token that is materialized as null when importing rows.
- -ParseErrorAction CsvParseErrorAction
- How parse errors are handled.
- Possible values:
Throw,SkipRow - -Path String[]
- Path to one or more CSV files. Wildcards are supported.
- -ProgressInterval Int32
- Report progress every N parsed records.
- -QuoteParsingMode CsvQuoteParsingMode
- Controls whether malformed quoted fields are parsed leniently or rejected.
- Possible values:
Lenient,Strict - -RecognizeW3CFieldsHeader Boolean
- Recognize W3C Extended Log File Format #Fields: rows as headers.
- -SchemaSampleSize Int32
- Maximum row count inspected when schema inference is enabled.
- -SkipCommentRows SwitchParameter
- Skip comment rows throughout the file.
- -SkipCommentRowsBeforeHeader Boolean
- Skip comment rows starting with # while discovering the header.
- -SkipRows Int32
- Number of parsed CSV records to skip before header discovery or data output.
- -StaticColumns IDictionary
- Static columns appended to every imported row.
- -TrimWhitespace Boolean
- Trim whitespace around unquoted fields.
- -Document CsvDocument
- CSV document to read when already loaded.
- -UseCulture SwitchParameter
- Use the list separator from the selected or current culture as the delimiter.
- -DelimiterCandidates Char[]
- Delimiter candidates to consider when detecting the delimiter.
- -DetectDelimiter SwitchParameter
- Detect the delimiter from the first meaningful records.
- -LiteralPath String[]
- Literal path to one or more CSV files.
Common Parameters
This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.
For more information, see about_CommonParameters.