here is my code to read a CSV file I got, very straightforward:
import numpy as np
import pandas as pd
sn1= pd.read_csv('myFile.csv')
if sn1.empty:
print("empty")
print(sn1)
this is the output:
empty
Empty DataFrame
Columns: [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30, 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.40, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.50, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59, 0.60, 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69, 0.70, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.90, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99, ...]
Index: []
[0 rows x 400 columns]
while clearly I can see that it's not empty:
what am I doing wrong? Thank you very much!
CodePudding user response:
The problem is that your CSV file has a header, but no data. So when you try to read it with pandas, it can't find any data and so it returns an empty DataFrame.
You can either remove the header from your CSV file, or you can tell pandas not to look for a header:
sn1 = pd.read_csv('myFile.csv', header=None)
CodePudding user response:
Pandas is using the only line in your CSV file as the column names. Try this:
import numpy as np
import pandas as pd
sn1= pd.read_csv('myFile.csv', header=None)
if sn1.empty:
print("empty")
print(sn1)