【发布时间】:2013-08-05 03:01:43
【问题描述】:
我的 csv 文件在除第一列之外的标题行中包含不需要的第一个字符。 while 循环从标题中删除第一个字符并将新的标题行写入新文件(由计数器退出)。然后 else 语句将其余行写入新文件。问题是 else 语句从标题行开始并第二次写入。有没有办法在不破坏 for 迭代器的情况下开始下一行?实际文件是 21 列乘 400,000 多行。不需要的字符是一个空格,但我在下面的示例中使用了 * 以便于查看。谢谢你的帮助!
文件.csv =
a,*b,*c,*d
1,2,3,4
import csv
reader = csv.reader(open('file.csv', 'rb'))
writer = csv.writer(open('file2.csv','wb'))
count = 0
for row in reader:
while (count <= 0):
row[1]=row[1][1:]
row[2]=row[2][1:]
row[3]=row[3][1:]
writer.writerow([row[0], row[1], row[2], row[3]])
count = count + 1
else:
writer.writerow([row[0], row[1], row[2], row[3]])
【问题讨论】:
-
删除这些不需要的字符——这是您代码的唯一目的吗?
-
是的,但是,这只是优化一个非常大的数据集以导入数据库@djas 的一小部分
标签: python csv python-2.7