Замените запятую точкой с запятой при создании Csv Dataframe

У меня есть код, который создает CSV-файл, когда я впервые открываю его, я все в одном столбце, поэтому я должен сделать как обычно

Перейдите в Данные и сделайте следующее. Затем данные разбиваются на столбцы.

введите описание изображения здесь

Я работаю с Office 365, и недавно мне сказали, что если я заменю запятые точкой с запятой, то при открытии вновь созданного файла CSV-файла Excel автоматически откроет файл, уже разделенный на столбцы.

Я прошу несколько советов, поскольку выполнение этого процесса для каждого созданного файла CSV действительно занимает много времени.

Ищите способ изменить мой код, чтобы он делал это автоматически, возможно, вместо того, чтобы разбивать столбцы запятыми, в этом случае делайте это с помощью точек с запятой. Просто чтобы попробовать, если это сработает.

with open('created.csv', 'w', newline='') as f:
    writer = csv.writer(f)


  [1]: https://i.stack.imgur.com/OtxO4.png

Всего 1 ответ


Если вы уже хотите преобразовать существующий файл, вы можете сделать это следующим образом:

with open('created.csv', 'r', encoding='utf-8') as f_in, open("outfile.csv", 'w') as f_out:
    for line in f_in:
        line = line.split(",")
        line = ";".join(line)
        f_out.write(line)

Если у вас уже есть датафрейм, вы можете сделать это, как сказал @jezrael в комментарии:

df.to_csv('created.csv', sep='')

Как уже упоминалось в комментарии, вы уже используете модуль CSV для записи вашего файла. Вы должны изменить эту строку в своем коде:

writer = csv.writer(f)

в

writer = csv.writer(f, delimiter='')

Что касается меня, если я открою CSV, разделенный на «,», я должен описать то, что вы описали в своем вопросе. Но если я открою CSV, разделенный с ";" это уже в правильных столбцах. Это (по крайней мере, для пользователей Windows) зависит от настроек вашего региона . Это может отличаться для всех в зависимости от ваших языковых настроек.

Вы можете проверить их здесь, а также изменить их, если хотите:

https://www.itsupportguides.com/knowledge-base/office-2013/excel-20132016-how-to-change-csv-delimiter-character/


Есть идеи?

10000