【发布时间】:2013-12-10 12:20:48
【问题描述】:
我需要解压缩一个目录中的多个文件并将它们转换为 csv 文件。 文件在文件内按顺序编号,1.gz、2.gz、3.gz等
这可以在单个脚本中完成还是我必须手动完成?
编辑:当前代码是
#! /usr/local/bin/python
import gzip
import csv
import os
f = gzip.open('1.gz', 'rb')
file_content = f.read()
filename = '1.txt'
target = open ('1.txt', 'w')
target.write(file_content)
target.close()
filename = '1.csv'
txt_file = '1.txt'
csv_file = '1.csv'
in_txt = csv.reader(open(txt_file, "rb"), delimiter = '\t')
out_csv = csv.writer(open(csv_file, 'wb'))
out_csv.writerows(in_txt)
dirname = '/home/user/Desktop'
filename = "1.txt"
pathname = os.path.abspath(os.path.join(dirname, filename))
if pathname.startswith(dirname):
os.remove(pathname)
f.close()
目前的计划是计算每个目录的 .gz 文件总数,并对每个文件使用循环来解压缩并打印 txt/csv。
这可行还是有更好的方法?
另外,python 是否类似于 perl 中的双引号解释字符串?
【问题讨论】:
-
欢迎来到 Stack Overflow!看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在发布者已经尝试自己解决问题时才提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、堆栈跟踪、编译器错误 - 无论是什么适用的)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQ 和How to Ask
-
不是每个人都愿意为他们做他们的工作 :)
-
我会尽快上传代码,但目前代码在我学校的实验室里。当我可以访问它以获取更多信息时,我会生成代码!
-
您需要解压缩多个文件并将它们转换为a单个文本文件吗?还是需要解压多个文件,每个文件都转换成对应的文本文件?
-
我需要将每一个转换成对应的文本文件。
标签: python python-2.7 zip gzip