Я создаю веб-приложение, используя Django. Я загрузил текстовый файл, используя
csv_file = request.FILES ['file'].
Я не могу прочитать CSV в панд. Файл, который я пытаюсь импортировать, содержит текст и данные, но мне нужны только данные.
Я пробовал следующее
- df = pd.read_csv (csv_file, sep = "", header = None, names = ["col1", "col2", "col3"], skiprows = 2), чтобы попытаться удалить комментарии и просто прочитать число
Ошибка: панды не будут читать все 3 столбца. Он читает только 1 столбец
- Я пытался df = pd.read_csv (csv_file, sep = "\ s {2}", sep = "", header = None, names = ["col1", "col2", "col3"], skiprows = 2) попытаться удалить комментарии и просто прочитать цифры
Ошибка: нельзя использовать строковый шаблон для байтовоподобного объекта
- Я попытался df = pd.read_csv (csv_file.read (), sep = "", header = None, names = ["col1", "col2", "col3"], skiprows = 2), чтобы попытаться удалить комментируйте и просто читайте цифры
Файл, который я загрузил
% filename
% username
2.0000 117.441 -0.430
2.0100 117.499 -0.337
2.0200 117.557 -0.246
2.0300 117.615 -0.157
2.0400 117.672 -0.069
views.py
def new_measurement(request, pk):
material = Material.objects.get(pk=pk)
if request.method == 'POST':
form = NewTopicForm(request.POST)
if form.is_valid():
topic = form.save(commit=False)
topic.material = material
topic.message=form.cleaned_data.get('message')
csv_file = request.FILES['file']
df = genDataFrame(csv_file)
topic.data = df
topic.created_by = request.user
topic.save()
return redirect('topic_detail', pk = material.pk)
else:
form = NewTopicForm()
return render(request, 'new_topic.html', {'material': material, 'form': form})
def genDataFrame(csv_file):
df = pd.read_csv(csv_file, sep=" ", header=None, names=["col1","col2","col3"])
df = df.convert_objects(convert_numeric=True)
df = df.dropna()
df = df.reset_index(drop = True)
return df_list
Я хочу получить фрейм данных типа
col1 col2 col3
2.0000 117.441 -0.430
2.0100 117.499 -0.337
2.0200 117.557 -0.246
2.0300 117.615 -0.157
2.0400 117.672 -0.069