#python #pandas #csv #txt
Вопрос:
Я новичок в кодировании на python, я написал небольшой скрипт для преобразования текстовых файлов в папке в csv-файлы. Скрипт запущен, но он предоставляет csv-файл только с одним столбцом. Где моя вина? Также преобразованные файлы всегда содержат .txt.csv. Я был бы признателен за некоторую помощь. Большое спасибо!
Это мой код
import os
import pandas as pd
input = "C:\path where original data is"
output = "C:\path for csv files"
os.chdir(input)
txt_files = os.listdir('.')
print(txt_files)
for txt_file in (txt_files):
df = pd.read_csv(txt_file, delimiter = ',', names=['Messpunktt','Zeichnungspunkt t','Eigenschaftt','Positiont', 'Sollmaßt','Toleranzt','Abweichungt','Laget' ])
df.to_csv(output txt_file '.csv', index=False)
Ответ №1:
Проблема может быть в разделителе, попробуйте изменить его на «t», поскольку, судя по опубликованному вами изображению, похоже, что таблица является фактическим разделителем, другим возможным подходом может быть изменение функции чтения на pd.read_table
Комментарии:
1. Спасибо за быстрый ответ. Я уже пробовал разные разделители, ни один из них не работал (включая t). Я также попробовал sep n в качестве замены разделителя. Я попробовал также pd.read_table, но это тоже не сработало.
2. Другой возможной попыткой может быть » s «, вы проверили содержимое df?
3. Спасибо, sep s сработало. Единственная проблема сейчас в том, что при сохранении файла он каждый раз создает файл .txt.csv.
4. Для этого мы могли бы удалить строку
output txt_file '.csv
и, например, заменить подстроку ‘.txt’ в txt_file чем-то вроде txt_file.replaceAll(‘.txt’,»)