Почему np.savetxt ничего не пишет? - PullRequest
1 голос
/ 25 февраля 2020

Я ценю вашу помощь в моей проблеме.

Я хочу добавить свой ответный запрос в существующий файл CSV. Я реализую это в этом примере , но по неизвестной причине - выходной файл остается пустым.

Это минимальный фрагмент моего кода:

import psycopg2
import numpy as np

# Connect to an existing database
conn = psycopg2.connect(dbname="...", user="...", password="...", host="...")
# Open a cursor to perform database operations
cur = conn.cursor()

f = open('file_name.csv', 'ab') # "ab" for appending

cur.execute("""select * from table limit 10""") # I have another query here but it isn't relevant.
cur_out = np.asarray(cur.fetchall())

До тех пор, пока здесь это работает отлично. Когда я print(cur_out), я получил желаемый результат. Но на следующем шаге:

np.savetxt(f, cur_out, delimiter=",", fmt='%s')

Файл остался пустым, и я не нашел причину для этого.

Не могли бы вы мне помочь, пожалуйста?

Спасибо за хелперы.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Я не знаю, как тебе сказать. Но ваш код работает для меня отлично.

Мои предложения:

  1. Если у вас есть файлы с этим именем, попробуйте удалить их и снова выполнить код,
  2. Попробуйте изменить размер пакета.
  3. Попробуйте изменить постфикс имени файла на txt или dat.

С наилучшими пожеланиями.

0 голосов
/ 25 февраля 2020
np.savetxt('file_name.csv', cur_out, delimiter=",", fmt='%s')
...