当我从文件中读取时,单引号变为双引号

时间:2017-04-29 16:06:01

标签: python

我有这个问题。我阅读了包含一些信息的简单文本文件,然后我将附加信息附加到该字符串并写入新文件。 它有效,但是当我的一些字符串在某些部分周围有单引号时,python会用双引号写回。

import sys,os,csv

def write(output):

    with open (outputfilename, 'a') as f:
         writer = csv.writer(f, delimiter = '|', lineterminator = '\r\n')
         writer.writerows(output)

dic_one = {} # some dict with values

def get_val(i,id):

    for k,v in dict_one.items():
        keys_list = k.split('-')
        if int(id) == int(keys_list[-2]):
            if id in keys_list:
                value = v
                del dict_one[k]
                return value



with open(org_file, 'r') as f:
    for i, line in enumerate(f):
         temp_list = []
         id = line[0:3]
         second_string = get_val(i, id)
         output_line = line + second_string

         # reason why I am using lists is because my systems throws permission denied errors, due to restrictions on folder.
         # i keep all records in memory and then write them as i get to my last line

         temp_list.append(output_line)
         write_list.append(temp_list)

         if i == 60000-1:
             write(output_list)
             output_list = []

从此我的字符串变为:

string = 1234 test test "test" test

所需的输出是:来自dict_one的1234测试测试“测试”测试值

60k行中4-5个案例的输出是:

“1234测试测试”“测试”“测试值来自dict_one”

仅在“存在”的行中发生。 谢谢你的努力!

1 个答案:

答案 0 :(得分:1)

看起来问题必须在get_val()中 - 在阅读或写入文件时,python本身不会随机添加引号。