【发布时间】:2015-08-27 20:09:49
【问题描述】:
我有两个 CSV 文件列表,我的程序将它们组合成一个文件。
第一组文件有 5 列我不想包含在输出中的数据。如何从我使用csv.reader 读取的数据中删除这 5 列,无论是逐行还是一次全部删除?
这是我的函数(我想保持函数def 和结构基本相同):
def get_data(filename,rowlen,delimit=','):
data = []
with open(filename, 'rb') as f:
raw = csv.reader(f, dialect='excel', delimiter=delimit)
if raw != None:
for row in raw:
if row[-1] == '':
row.pop()
for i in range(len(row),rowlen):
row.append('-999')
data.append(row)
return data
我试过这样做:
raw = csv.reader(f, dialect='excel', delimiter=delimit)
if raw != None:
for row in raw:
if rowlen == 13: # This is true only for csv files I want to shorten
row = row[0:8]
rowlen = 8
if row[-1] == '':
但输出文件保持不变。另外,我尝试注释掉rowlen = 8,但这只是用-999 填充了我不想要的列。
【问题讨论】:
-
你应该为你的块代码使用 SO 缩进,在每行代码前添加四个空格,你的代码将显示语法着色
标签: python csv formatting output row