从CSV文件中删除空格而不创建新文件

时间:2016-06-27 19:20:23

标签: python python-2.7 csv

我在csv表中有空格,我想摆脱它。

搜索了几个小时后,我意识到这是它的代码:

input = open('file.txt', 'wb')
output = open('new_file.txt', 'wb')
writer = csv.writer(output)
for row in csv.reader(input):
    if any(field.strip() for field in row):
        writer.writerow(row)
input.close()
output.close()  

我的问题是:如何在不创建新文件的情况下删除空格?

1 个答案:

答案 0 :(得分:3)

您可以先提取有效行并在之后覆盖该文件,前提是您的文件不是太大,因此行可以完全适合内存

with open('file.txt', 'rb') as inp:
    valid_rows = [row for row in csv.reader(inp) if any(field.strip() for field in row)]

with open('file.txt', 'wb') as out:
    csv.writer(out).writerows(valid_rows)