2015-07-21 4 views
-1

Я создаю простой генератор случайных чисел в python для школьного проекта. Это то, что я до сих пор:Экспорт переменной в CSV-файл в python

import random 

amnt = input('Please enter the amount of numbers you would like:') 
for i in range(0,amnt): 


      x = random.randint(0,100000000) 
      print x 

Это желаемый результат, он генерирует определенное количество случайных чисел, на основе пользовательского ввода. Теперь я должен решить проблему, как экспортировать числа, сгенерированные в один файл CSV, чтобы они могли быть проанализированы. Я считаю, что модуль CSV должен быть импортирован и реализован, но я не уверен, как это сделать. Я пытаюсь проанализировать эффективность случайного модуля, чтобы написать эссе, поэтому возможность использовать excel для сортировки и фильтрации чисел будет очень полезна. Любые изменения или модификации кода также будут очень оценены.

+1

Я не вижу каких-либо структура данных, CSV не позволяют хранить бессмысленные данные. – rednaks

+0

Вам нужно сделать следующий список: https://docs.python.org/2/library/csv.html#examples и https://docs.python.org/3/library/csv.html#examples – shuttle87

+1

@rednaks: если данные состоят только из одного значения для каждой строки, то для этого не требуется дополнительного «структурирования данных», чтобы считаться действительным CSV-файлом. @thesctt: просто откройте файл и используйте 'file.write (str (x) + '\ n')', чтобы писать в него строки. – martineau

ответ

0
import random 
import csv 

amnt = input('Please enter the amount of numbers you would like:') 
ofile = open('ttest.csv', "wb") 
writer = csv.writer(ofile, delimiter=',') 
for i in range(0,amnt): 
    x = random.randint(0,100000000) 
    writer.writerow([x]) 
ofile.close() 

Мощное решение проблемы. writerow напишет строку на ваш csv. Поскольку вы хотите открыть его в excel, я написал один номер/строку, поэтому вы можете заказать его на основе столбца.

Однако вы также можете отсортировать номера программно, не используя excel. Как уже упоминалось, CSV специально предназначен для хранения структур данных.

Более подробную информацию можно найти в csv module documentation

1

Нет, вы на самом деле не csv модуль для случая, это просто. Вам просто нужно создать текстовый файл, в котором значения разделяются запятыми. (Отсюда и название, Comma-Separated Values, CSV).

Попробуйте это:

import random 

amnt = int(raw_input('Please enter the amount of numbers you would like:')) 
data = (random.randint(0,100000000) for _ in range(amnt)) 
data = (str(datum) for datum in data) 
data = ','.join(data) + '\n' 
with open("random.csv", "w") as fp: 
    fp.write(data) 
Смежные вопросы