2017-01-24 6 views
1

У меня есть скрипт python, который печатает первые 105 столбцов текстового файла. Все значения являются float, и я хочу записать список в текстовый файл. Я пробовал код ниже, но текстовый файл пуст.Как написать вывод скрипта python, который представляет собой набор поплавков в текстовый файл?

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import sys 

data = pd.read_csv('E:\Python_trials\Trial_codes\Lab_trial.txt', delimiter = '\t') 
df = data.ix[:,:110] 
print(df) 

with open("test.txt", "w") as f: 
    sys.stdout.writelines(str(f)) 
    f.flush() 
    f.close() 

ответ

2

Вы не пишите в f. Вы пишете на стандартный вывод. Попробуйте f.write(...)

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import sys 

data = pd.read_csv('E:\Python_trials\Trial_codes\Lab_trial.txt', delimiter = '\t') 
df = data.ix[:,:110] 
print(df) 

with open("test.txt", "w") as f: 
    f.write(str(f)) 
    # f.close() This is useless, as soon as the "with" is over, it automatically closes the file 
+0

Благодарим за отзыв. –

+0

Но, я получаю ниже текст в файле, тест. txt: <_io.TextIOWrapper name = 'test.txt' mode = 'w' encoding = 'cp1252'> Что я хочу написать, это набор строк и столбцов [252 строки х 105 столбцов]. Пожалуйста, помогите мне –

+0

Вы в настоящее время пишете 'f' в файл. 'f' является обработчиком файлов, спасибо, почему вы это видите. Если вы хотите, например, написать «цветок», используйте 'f.write (« flower »)' –