Python CSV编写器修剪前导零

Python CSV编写器修剪前导零,python,csv,python-2.7,Python,Csv,Python 2.7,我正在用python读取csv文件,更改一些值,然后将其写出来。我使用以下方法读取文件: bomReader = csv.reader( open( args.filename, 'rb' ), delimiter=',' ) for row in bomReader: #do stuff 其中一个字段包含值,如0406,其中前导零很重要。读取csv文件后,如果我使用打印行[2]打印此字段,它将以前导0正确显示 但是,当我将其写回新的csv文件时,输出没有前导零。我假设这是因为它被认为

我正在用python读取csv文件,更改一些值,然后将其写出来。我使用以下方法读取文件:

bomReader = csv.reader( open( args.filename, 'rb' ), delimiter=',' )
for row in bomReader:
    #do stuff
其中一个字段包含值,如
0406
,其中前导零很重要。读取csv文件后,如果我使用打印行[2]打印此字段,它将以前导0正确显示

但是,当我将其写回新的csv文件时,输出没有前导零。我假设这是因为它被认为是一个int,前导零被修剪。由于我无法在csv.writer writeRow()函数中使用格式说明符,因此如何正确防止这种行为

代码:

输入csv文件中的示例行:

1007,C,0406,2,C456;C219,ANY,,,,,,
1007,C,406,1,C456,ANY,,,,
1007,C,406,1,C219,ANY,,,,
输出csv文件中的行:

1007,C,0406,2,C456;C219,ANY,,,,,,
1007,C,406,1,C456,ANY,,,,
1007,C,406,1,C219,ANY,,,,

您提供的代码在
Python 2.6.7
Python 2.7.2
csv下正常工作。输出:

1007,C,0406,1,C456,ANY,,,,
1007,C,0406,1,C219,ANY,,,,

您提供的代码在
Python 2.6.7
Python 2.7.2
csv下正常工作。输出:

1007,C,0406,1,C456,ANY,,,,
1007,C,0406,1,C219,ANY,,,,

csv
模块忽略某些内容是否可以是
int
,并将所有内容视为字符串。你能发布你全部的相关代码吗。正在丢失前导零的相关字段是第[2]行。请提供csv数据,以便我们可以在系统中创建相同的问题。检查是否没有
第[2]=int(第[2]行]
。如果
行[3]=“1”,代码可能会更简单;行[4]=each.strip()
并始终使用
.writerow(行)
。另外,
每个
都不是很好的描述性名称。
csv
模块忽略某些内容是否可以是
int
,并将所有内容都视为字符串。你能发布你全部的相关代码吗。正在丢失前导零的相关字段是第[2]行。请提供csv数据,以便我们可以在系统中创建相同的问题。检查是否没有
第[2]=int(第[2]行]
。如果
行[3]=“1”,代码可能会更简单;行[4]=each.strip()
并始终使用
.writerow(行)
。另外,
每个
都不是很有描述性的名称。