使用 python 将 tsv 文件转换为 xls/xlsx

Posted

技术标签:

【中文标题】使用 python 将 tsv 文件转换为 xls/xlsx【英文标题】:convert a tsv file to xls/xlsx using python 【发布时间】:2013-05-27 00:02:28 【问题描述】:

我想把一个tsv格式的文件转换成xls/xlsx..

我尝试过使用

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

但是要转换的文件已损坏。还有其他方法吗?

【问题讨论】:

【参考方案1】:

这是一个使用XlsxWriter 和核心 csv 模块将 TSV 转换为 XLSX 的简单示例:

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()

【讨论】:

在python3中,更改为csv.reader(open(tsv_file,'rt'),delimiter="\t")时有效【参考方案2】:

你需要:

    tsv文件中读取数据。

    将它转换成你想要的样子。

    将它们写入 Excel 文件,openpyxl 对应 xlsx,xlwt 对应 xls

【讨论】:

【参考方案3】:
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,'rt'),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()

【讨论】:

以上是关于使用 python 将 tsv 文件转换为 xls/xlsx的主要内容,如果未能解决你的问题,请参考以下文章

Python将大(10GB).csv转换为.tsv

将 json 对象数组转换为 tsv (python)

xlrd 库不适用于 xlsx 文件。使用 python 将 xlsx 转换为 xls 的任何方法?

Python 批量将xls文件转换为xlsx

从python中的xls或xlsx文件读取后将数据转换为字符串

TSV文件将字符串转换为数字