无法将我的数据写入文件?我看不出错误

时间:2017-01-09 12:05:25

标签: python python-3.x csv parsing

过去几个小时我一直试图缩小问题的范围,我看不到它。我是Python 3的新手,并尝试解析项目的文本文件。 解析只是清理一些空格并替换分隔符。 我不明白为什么它不会工作。

更具体地说 我收到了这个特殊的错误:

"NameError: name 'out' is not defined"

代码:

save_path = 'C:/UsersDesktop/CSVproject'

with open('C:/Users/CSVproject/sourceData.dat', 'r') as f:

    for line in f:
        if ':DUBLIN' in line:
            line = line.replace(' ', '')
            line = line.replace(':', ';')
            print(line)
            found = True
            fullNameOfFile = os.path.join(save_path, 'newFormattedData'+".csv")
            out = open(fullNameOfFile, 'w')

        for line in f:
            out.write(line)

1 个答案:

答案 0 :(得分:2)

每次出现单词:DUBLIN时,您都试图打开文件。你只需要打开一次,你应该在一个范围打开它,在那里范围确保句柄对于write方法是可见的。

fullNameOfFile = os.path.join(save_path, 'newFormattedData'+".csv")     

out = open(fullNameOfFile, 'w') 

for line in f:
    if ':DUBLIN' in line:
        line = line.replace(' ', '')
        line = line.replace(':', ';')
        print(line)
        found = True

        out.write(line)

你绝对不希望有一个嵌套循环来迭代输入文件。