@Tiamon

Как заменить символ в csv в столбце?

Срочно нужна ваша помощь. Нужно в файле csv вида:

2597;2597;;   ;"008000000";"";Hager (Deutschland);"Kugeldrehvorrich...";660,09;auf Anfrage;"Maschinen>Vorrichtungen>Ku...";


Заменить в девятом столбце (и только в нём ;660,09; ) символ "," (запятая) на точку во всех строках.

Подойдет на любом языке программирования который можно запустить на linux по крону, если можно готовый вариант. К сожалению нет времени разобраться самому, а нужно срочно. (((( Готов закинуть на пиво за помощь )
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
hint000
@hint000
у админа три руки
О святые угодники, в ответах какие-то простыни кода на питоне...
awk 'BEGIN{FS=OFS=";"} {gsub(/\,/, ".", $9)} 1' имяфайла.csv > новыйфайл.csv

копипаста отсюда: https://unix.stackexchange.com/questions/492500/aw...
только там наоборот точку на запятую меняли
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@youngtitanium
Lang: python

filename = '' # туты имя файла пишешь

with open(filename, 'r', encoding='utf8') as f:
    lines = f.readlines()
newlines = []
for data in lines:
    data = data.split(';')
    data[8] = data[8].replace(',', '.')
    data = ';'.join(data)
    newlines.append(data)
with open(filename, 'w') as f:
    f.write(newlines)


Код сам откроет файл, заменит строку и сохранит его!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы