Not sure if that's a bug: if a CSV is read and less names are given, than there are names, it creats an index
```
# note the , at the end of the line
raw="""
1,   0.614,  -7.798,  -1.465,  -6.117,   3.050,   5.231,0x42ef4,
  1,   0.615,  -7.798,  -1.465,  -6.109,   3.049,   5.231,0x42f05,
  1,   0.616,  -7.798,  -1.465,  -6.097,   3.045,   5.232,0x42f15,
  1,   0.615,  -7.798,  -1.465,  -6.108,   3.048,   5.232,0x42f26,
  1,   0.614,  -7.798,  -1.465,  -6.121,   3.051,   5.230,0x42f37,
  1,   0.615,  -7.798,  -1.465,  -6.107,   3.048,   5.230,0x42f47,
  1,   0.616,  -7.798,  -1.465,  -6.100,   3.046,   5.230,0x42f58,
  1,   0.614,  -7.798,  -1.465,  -6.116,   3.049,   5.230,0x42f69,
"""
# import 1
colnames = [ 'sensor', 'x', 'y', 'z', 'azimuth', 'elevation', 'roll', 'hex']
df1= pd.read_csv(io.StringIO(raw), sep=',', names=colnames, index_col=None) 
# here hex contains NaN and the first column doesn't seem to have a name (it seems to become the index):
   sensor      x      y      z  azimuth  elevation     roll  hex
1   0.614 -7.798 -1.465 -6.117    3.050      5.231  0x42ef4  NaN
1   0.615 -7.798 -1.465 -6.109    3.049      5.231  0x42f05  NaN
1   0.616 -7.798 -1.465 -6.097    3.045      5.232  0x42f15  NaN
1   0.615 -7.798 -1.465 -6.108    3.048      5.232  0x42f26  NaN
1   0.614 -7.798 -1.465 -6.121    3.051      5.230  0x42f37  NaN
1   0.615 -7.798 -1.465 -6.107    3.048      5.230  0x42f47  NaN
1   0.616 -7.798 -1.465 -6.100    3.046      5.230  0x42f58  NaN
1   0.614 -7.798 -1.465 -6.116    3.049      5.230  0x42f69  NaN

# import 2
df2= pd.read_csv(io.StringIO(raw), sep=',', names=colnames, index_col=None, usecols=range(len(colnames)))
# or which also works:
# df2= pd.read_csv(io.StringIO(raw), sep=',', names=colnames, index_col=None, index_col=False)
# here hex contains the hex string and the first column is named 'sensor',  as expected:
   sensor      x      y      z  azimuth  elevation   roll      hex
0       1  0.614 -7.798 -1.465   -6.117      3.050  5.231  0x42ef4
1       1  0.615 -7.798 -1.465   -6.109      3.049  5.231  0x42f05
2       1  0.616 -7.798 -1.465   -6.097      3.045  5.232  0x42f15
3       1  0.615 -7.798 -1.465   -6.108      3.048  5.232  0x42f26
4       1  0.614 -7.798 -1.465   -6.121      3.051  5.230  0x42f37
5       1  0.615 -7.798 -1.465   -6.107      3.048  5.230  0x42f47
6       1  0.616 -7.798 -1.465   -6.100      3.046  5.230  0x42f58
7       1  0.614 -7.798 -1.465   -6.116      3.049  5.230  0x42f69
```

```python
See above

```
#### Problem description
CSV files created by excel often contain extra field separators at the end of the line. In the example above it is one. This is interpreted as if there is an empty extra column and seems to "confuse" pandas, so it shifts the column names for some strange reason and leaves the first column instead of the last column unnamed.
If I use usecols to force pandas to ignore the extra column, everything works fine.

UPDATE: I just recognized, that in the first case the first column is used for the index. So maybe the behavior is intended like this. But I guess it is not a good default, because tools like excel tend to add extra separators at the end of lines without the user having a chance to even notice it, if they don't open the generated file using an editor.

#### Expected Output
I think pandas should assign the column names from left to right, so even without usecols, the first column should be named "sensor", but in fact the second column is named "sensor" instead without usecols.

#### Output of ``pd.show_versions()``

<details>

[paste the output of ``pd.show_versions()`` here below this line]

pd.show_versions()

INSTALLED VERSIONS
------------------
commit           : None
python           : 3.7.3.final.0
python-bits      : 64
OS               : Linux
OS-release       : 5.0.0-20-generic
machine          : x86_64
processor        : x86_64
byteorder        : little
LC_ALL           : None
LANG             : de_DE.UTF-8
LOCALE           : de_DE.UTF-8

pandas           : 0.25.0
numpy            : 1.16.4
pytz             : 2018.9
dateutil         : 2.7.3
pip              : 18.1
setuptools       : 41.0.1
Cython           : 0.29.2
pytest           : 3.10.1
hypothesis       : None
sphinx           : 1.8.5
blosc            : 1.7.0
feather          : None
xlsxwriter       : None
lxml.etree       : 4.3.3
html5lib         : 1.0.1
pymysql          : None
psycopg2         : None
jinja2           : 2.10
IPython          : 5.8.0
pandas_datareader: None
bs4              : 4.7.1
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : 4.3.3
matplotlib       : 3.0.2
numexpr          : 2.6.9
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pytables         : None
s3fs             : None
scipy            : 1.3.0
sqlalchemy       : 1.2.15
tables           : 3.4.4
xarray           : None
xlrd             : None
xlwt             : None
xlsxwriter       : None
