使用 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的主要内容,如果未能解决你的问题,请参考以下文章
xlrd 库不适用于 xlsx 文件。使用 python 将 xlsx 转换为 xls 的任何方法?