Python using pandas to convert xlsx to csv file. How to delete index column?
Question:
I am using the following code to convert .xlsx files into .csv files.
import pandas as pd
data_xls = pd.read_excel('excelfile.xlsx', 'Sheet2', index_col=None)
data_xls.to_csv('csvfile.csv', encoding='utf-8')
The code is working, however I am getting an index column with the cell numbers which I do not want. Is there anyway to not include or remove that index column?
File output
Unnamed Data
0 0.99319613
1 0.99319613
2 0.99319613
3 0.99319613
4 0.99319613
5 0.99319613
Answers:
As noted in the docs for pandas.DataFrame.to_csv()
, simply pass index=False
as a keyword argument, to exclude row names.
data_xls.to_csv('csvfile.csv', encoding='utf-8', index=False)
Inspired by miradulo and fix a number conversion problem:
import pandas as pd
data_xls = pd.read_excel('excelfile.xlsx', 'Sheet2', dtype=str, index_col=None)
data_xls.to_csv('csvfile.csv', encoding='utf-8', index=False)
Can drop ‘Sheet2’ if there is one sheet. dtype=str to avoid number conversion.
I am using the following code to convert .xlsx files into .csv files.
import pandas as pd
data_xls = pd.read_excel('excelfile.xlsx', 'Sheet2', index_col=None)
data_xls.to_csv('csvfile.csv', encoding='utf-8')
The code is working, however I am getting an index column with the cell numbers which I do not want. Is there anyway to not include or remove that index column?
File output
Unnamed Data
0 0.99319613
1 0.99319613
2 0.99319613
3 0.99319613
4 0.99319613
5 0.99319613
As noted in the docs for pandas.DataFrame.to_csv()
, simply pass index=False
as a keyword argument, to exclude row names.
data_xls.to_csv('csvfile.csv', encoding='utf-8', index=False)
Inspired by miradulo and fix a number conversion problem:
import pandas as pd
data_xls = pd.read_excel('excelfile.xlsx', 'Sheet2', dtype=str, index_col=None)
data_xls.to_csv('csvfile.csv', encoding='utf-8', index=False)
Can drop ‘Sheet2’ if there is one sheet. dtype=str to avoid number conversion.