Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

convert a tsv file to xls/xlsx using python

I want to convert a file in tsv format to xls/xlsx..

I tried using

os.rename("sample.tsv","sample.xlsx")

But the file getting converted is corrupted. Is there any other method of doing it?

like image 369
user2401464 Avatar asked May 31 '13 08:05

user2401464


1 Answers

Here is a simple example of converting TSV to XLSX using XlsxWriter and the core csv module:

import csv
from xlsxwriter.workbook import Workbook

# Add some command-line logic to read the file names.
tsv_file = 'sample.tsv'
xlsx_file = 'sample.xlsx'

# Create an XlsxWriter workbook object and add a worksheet.
workbook = Workbook(xlsx_file)
worksheet = workbook.add_worksheet()

# Create a TSV file reader.
tsv_reader = csv.reader(open(tsv_file, 'rb'), delimiter='\t')

# Read the row data from the TSV file and write it to the XLSX file.
for row, data in enumerate(tsv_reader):
    worksheet.write_row(row, 0, data)

# Close the XLSX file.
workbook.close()
like image 194
jmcnamara Avatar answered Oct 03 '22 12:10

jmcnamara