从存档中连接tsv文件Python
问题描述:
我有多个包含多个.tsv文件的存档。我想要做的是提取这些文件中的一部分,并创建一个新的.tsv文件来合并/连接我选择的文件。尽管如此,我遇到的唯一解决方案是合并它们,但是与写入/ t而不是正确切换。这是我迄今为止所尝试的:从存档中连接tsv文件Python
for numbers in list:
file_name = numbers
zip_ref = zipfile.ZipFile(archive_name, 'r')
file_to_concat = zip_ref.read(file_name)
model_file.write(str(file_to_concat))
最后,在model_file中,我将有文本充满'\ t'并且没有选项卡。 我想我应该在某处使用'import csv'?我不知道该怎么做
答
以下操作将取出一个文件夹中的所有.zip
文件,逐个提取文件作为TSV文件,并将它们写入组合输出TSV文件,其名称与.zip
相同文件:
import zipfile
import csv
import glob
for zip_filename in glob.glob('*.zip'):
csv_filename = "{}.csv".format(os.path.splitext(os.path.basename(zip_filename))[0])
print "{} -> {}".format(zip_filename, csv_filename)
with zipfile.ZipFile(zip_filename, 'r') as zip_ref, open(csv_filename, 'wb') as f_csv:
csv_writer = csv.writer(f_csv, delimiter='\t')
for zip_member in zip_ref.namelist():
print " {}".format(zip_member)
with zip_ref.open(zip_member) as f_zip:
csv_writer.writerows(csv.reader(f_zip, delimiter='\t'))
您可能会喜欢这个熊猫图书馆。 – Aaron
你是什么意思y“正确挂牌”? '\ t'是[一个适当的选项卡](https://*.com/questions/4488570/how-do-i-write-a-tab-in-python) –
我的意思是它写道“\ t “在文件中而不是标签 – Gimv13