我正在尝试保存到临时csv文件中。虽然该代码段不会返回错误/回溯,但它会返回一个空的临时csv文件,其中包含PermitData csv中第一列的名称(即使下一个语法应该跳过该文件)。这个片段有什么问题?请提供您的细致反馈。
import csv
with open('C:\\Users\\Python Files\\output.csv', 'w') as output:
with open('C:\\Users\\Python Files\\PermitData.csv', 'rb') as f:
reader = csv.reader(f)
output.write(next(reader)[0].replace('\t', ' ') + '\n')
data = list(reader)
for item in data:
item = item[0].split(' ')
if len(item) > 6:
item[1] = item[1].title()
output.write(' '.join(item) + '\n')
print 'Output created'
PermitData.csv中的行[1]的地址概述为:
1234 PRESTON ROAD
4587 RAINING COURT
我需要它们如下所示,所以我使用title()将地址转换为:
1234 Preston Road
4587 Raining Court
由于直接写入PermitData.csv文件是不可取的并且不可行,我正在创建一个临时文件。如果有办法直接写入原始源,在本例中为PermitData.csv,请告诉我它是如何合理的。
答案 0 :(得分:1)
这应该做你需要的。
我们将.title()
函数设置为列表的每个元素。
如果您知道某些元素不需要它,您可以使用条件,
像第一栏一样。
import csv
with open('C:\\Users\\Python Files\\PermitData.csv', 'r') as f:
reader = list(csv.reader(f, delimiter=' '))
new_data = list(reader)
for x, line in enumerate(reader):
for y, word in enumerate(line):
new_data[x][y] = word.title()
with open('C:\\Users\\Python Files\\output.csv', 'w') as f:
writer = csv.writer(f, delimiter=' ')
writer.writerows(new_data)
print 'Output created'