0
0
Data Analysis Pythondata~20 mins

Reading CSV with options (sep, header, encoding) in Data Analysis Python - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
CSV Reading Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output of reading a CSV with a custom separator?
Given the CSV content below saved as data.csv with semicolon separators, what will be the output DataFrame when read with sep=';'?
Data Analysis Python
import pandas as pd
from io import StringIO

csv_data = '''name;age;city
Alice;30;New York
Bob;25;Los Angeles
'''
df = pd.read_csv(StringIO(csv_data), sep=';')
print(df)
A
  name  age         city
0  Alice   30     New York
1    Bob   25  Los Angeles
B
  name  age  city
0  Alice  30  New York
1  Bob  25  Los Angeles
C
  name;age;city
0  Alice;30;New York
1  Bob;25;Los Angeles
DError: ParserError due to wrong separator
Attempts:
2 left
💡 Hint
Check how the separator affects parsing columns.
data_output
intermediate
2:00remaining
What happens if header is set to None when reading CSV?
Consider this CSV content without a header row. What will be the DataFrame output when read with header=None?
Data Analysis Python
import pandas as pd
from io import StringIO

csv_data = '''Alice,30,New York
Bob,25,Los Angeles
'''
df = pd.read_csv(StringIO(csv_data), header=None)
print(df)
A
    Alice  30  New York
0    Bob  25  Los Angeles
B
       0   1            2
0  Alice  30     New York
1    Bob  25  Los Angeles
CError: Missing header row
D
  Alice 30 New York
0 Bob 25 Los Angeles
Attempts:
2 left
💡 Hint
When header is None, pandas assigns numeric column names.
Predict Output
advanced
2:00remaining
What error occurs when reading a CSV with wrong encoding?
Given a CSV file encoded in UTF-8 with special characters, what error will occur if read with encoding='ascii'?
Data Analysis Python
import pandas as pd
from io import StringIO

csv_data = 'name,city\nAna,Sevilla\nJürgen,München'
df = pd.read_csv(StringIO(csv_data), encoding='ascii')
print(df)
AValueError: Unknown encoding 'ascii'
BDataFrame with names and cities correctly loaded
CUnicodeDecodeError: 'ascii' codec can't decode byte 0x... in position ...
DEmpty DataFrame with columns 'name' and 'city'
Attempts:
2 left
💡 Hint
ASCII encoding cannot decode special characters like ü.
visualization
advanced
2:00remaining
Which option correctly reads a CSV with no header and custom separator, then shows the first row?
You have a CSV with pipe '|' separator and no header. Which code snippet produces the correct first row output?
Data Analysis Python
import pandas as pd
from io import StringIO

csv_data = 'Alice|30|New York\nBob|25|Los Angeles'
df = pd.read_csv(StringIO(csv_data), sep='|', header=None)
print(df.iloc[0])
A
0       Alice
1          30
2    New York
Name: 0, dtype: object
B
name    Alice
age        30
city  New York
Name: 0, dtype: object
CError: Missing header row
D
0    Alice|30|New York
Name: 0, dtype: object
Attempts:
2 left
💡 Hint
Check how header=None affects column names and how iloc selects rows.
🔧 Debug
expert
3:00remaining
Why does this code fail to read a CSV with UTF-16 encoding?
This code tries to read a UTF-16 encoded CSV but raises an error. What is the cause?
Data Analysis Python
import pandas as pd
from io import StringIO

csv_data = 'name,age\nAlice,30\nBob,25'.encode('utf-16')

# Incorrect usage:
df = pd.read_csv(StringIO(csv_data.decode('utf-16')), encoding='utf-16')
print(df)
ATypeError: StringIO requires a string, but bytes were given
BDataFrame loads correctly with names and ages
CUnicodeDecodeError due to double decoding
DValueError: encoding parameter conflicts with decoded input
Attempts:
2 left
💡 Hint
Check how encoding and decoding interact when reading bytes with StringIO.