【发布时间】:2021-01-22 20:00:13
【问题描述】:
我是 Python 的新手,我编写了这个脚本,将 tsv 文件批量转换为 csv。我不断收到错误消息并花费数小时试图查看我做错了什么。对此的任何帮助将不胜感激。错误代码是“UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte”
import os
import sys
import shutil
import pandas as pd
import argparse
def main():
if len(sys.argv) == 1:
files = [x for x in os.listdir('.') if x.endswith('.tsv')]
else:
files = [sys.argv[1]]
for file in files:
df = pd.read_csv(file, header=0, sep='\t', encoding='utf-8', quoting=3)
new_filename = f'{file.replace(".tsv", "")}.csv'
df.to_csv(new_filename, encoding='utf-8', index=False)
print(f'Converted file: {new_filename}')
print('Done!')
if __name__ == '__main__':
main()
【问题讨论】:
标签: python python-3.x pandas dataframe csv