python中的错误比较结果

时间:2016-01-18 00:48:56

标签: json python-2.7 csv

我正在尝试比较JSON提取中的日期和CSV文件中的日期。 即使我打印两者,日期和类型相同,但比较总是说它们在没有时是不同的。 我已经尝试了很多东西,但没有任何效果。

线比较是

if (item_in["Data_Hora"].encode('utf-8')).strip <> Last_Date[1].strip:

这是完整的代码:

import json
import requests
import csv
import os
import itertools

def get_last_row(In_file):
    with open(In_file,'rb') as f:
        reader = csv.reader(f)
        lastline = reader.next()
        for line in reader:
            lastline = line
        print type (line)
        return lastline

params = {
  'api_key': 'tz-XmMtuYEVeeRjIdk6cqW1z',
}
r = requests.get(
    'https://www.parsehub.com/api/v2/projects/tw5xOi-cVrMG-_vAZC_cX1QX/last_ready_run/data',
    params=params)

json_object_in = r.content
data_in = json.loads(json_object_in)

for item_in in data_in["Estacao_Pluviometrica"]:
  if item_in["Regiao"] != "Santa Felicidade": #Santa Felicidade possui duas Estações, excluida do processo enquanto não conseguir diferencia-las

#   Altere abaixo com o diretório onde ficarão armazenados os arquivos  "{diretório}/%s.csv" 
    Path = "/tmp/csv2/%s.csv" %item_in["Regiao"]

    if os.path.isfile(Path): # Checa se já existe um arquivo para a região / Check if file already exist
      OutFile = open(Path, 'a+')
      Last_Date = get_last_row(Path)


#   Check if last date is igual to actual - Error is here - comparison is always different even though data is the same.
      if (item_in["Data_Hora"].encode('utf-8')).strip <> Last_Date[1].strip: 
        print "Nova entrada para %s" %item_in["Regiao"]
        fieldnames = ["Regiao", "Data e Hora", "Chuva (mm)"]
        CSVFile = csv.DictWriter (OutFile, fieldnames=fieldnames, delimiter=',', lineterminator = '\n')
        CSVFile.writerow({"Regiao": item_in["Regiao"].encode('latin-1') , "Data e Hora": item_in["Data_Hora"] , "Chuva (mm)": item_in["Chuva_mm"]})
      else: # When entry is the same as before
        print "Entrada repetida para %s" %item_in["Regiao"]
      OutFile.close()
    else: #caso não exista, se cria um novo arquivo / In case there's no 
      print "Criando novo arquivo para regiao %s em %s." % (item_in["Regiao"], Path)
      OutFile = open(Path, 'w')
      fieldnames = ["Regiao", "Data e Hora", "Chuva (mm)"]
      CSVFile = csv.DictWriter (OutFile, fieldnames=fieldnames, delimiter=',', lineterminator = '\n')
      CSVFile.writeheader()
      CSVFile.writerow({"Regiao": item_in["Regiao"].encode('latin-1') , "Data e Hora": item_in["Data_Hora"] , "Chuva (mm)": item_in["Chuva_mm"]})
      OutFile.close()

我正在使用Python 2.7.10和IDLE 感谢。

0 个答案:

没有答案