Вот моя проблема с минимальным воспроизводимым примером:
def additional():
df_additional_data = pd.read_excel("something.xlsx")
for _, row in df_saga.iterrows():
req = """
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
"""
Я хочу добавить два пробела к обеим этим строкам (тот, который начинается с SET
, и тот, который начинается с WHERE
).
Я не могу использовать Вкладка, потому что он добавляет 4 пробела.
Я не могу использовать Ctrl Альт I, потому что он внутри """ """ и не работает внутри них. Я знаю, что вы можете сделать это вручную, но в моем случае у меня более 200 строк в строке """ """. И я не хочу нанимать стажера только для того, чтобы добавить места.
Я использую PyCharm 2021.3.3 (Community Edition)
Build #PC-213.7172.26, built on March 16, 2022
Runtime version: 11.0.14.1+1-b1751.46 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 2030M
Cores: 16
Non-Bundled Plugins:
net.seesharpsoft.intellij.plugins.csv (2.18.2)
com.chesterccw.excelreader (2021.3.2)
ru.meanmail.plugin.requirements (2022.3-2021.3)
Вы говорите, что не можете использовать TAB, потому что он делает 4 пробела. Вы можете временно изменить его на 2 пробела. Если вы согласны с этим, это, вероятно, самое простое, что можно сделать. 200 строк - это не сумасшедшее количество строк, ИМО. Settings ->Editor -> Code Style -> Python -> tab size
Это достойное решение!
Поскольку форматировщики обычно стараются не слишком сильно изменять содержимое внутри строк, это было бы сложно в автоматическом режиме, не видя фактического кода, было бы сложно и, вероятно, имело бы икоту (IMO).
Если единственная причина, по которой использование TAB не решает ваш ответ, заключается в том, что он использует 4 пробела, вы можете временно изменить его на использование 2 пробелов. Для этого вам нужно будет сделать следующее:
Settings ->Editor -> Code Style -> Python -> indent
-> 2.Settings ->Editor -> Code Style ->
Снимите галочку Detect and use existing file indents for editing
Я думаю, что это правильный путь, но это не работает, нажатие TAB
все еще добавляет 4 пробела с этими настройками: i.imgur.com/8ykMjQF.png
Я везде поставил 1
и поставил галочку «Использовать символ табуляции», но все равно не работает.
Когда вы говорите, не видя фактического кода, я не понимаю, почему минимальный воспроизводимый пример можно использовать в качестве примера.
на практике это выглядит так i.imgur.com/HAxZ3WI.png
Вы можете удалить свою награду за щедрость? Если это не решит вашу проблему, было бы хорошо оставить ее открытой, чтобы посмотреть, может ли кто-то другой ответить на нее по-другому. Причина, по которой я сказал «не видя кода», заключалась в том, что если бы я предложил решение, включающее макросы vim, оно должно было бы быть очень конкретным.
@FluidMechanicsPotentialFlows Попробуйте прямо сейчас. Похоже, это должно быть indent
вместо tab size
(но вы можете попробовать установить оба значения на 2, если это вам не подходит). Также похоже, что PyCharm будет игнорировать этот параметр по умолчанию и основывать его на вашем файле. Вы можете отключить это поведение. Я проверил это локально, и это сработало для меня
Я не мог удалить его, немного глупо с моей стороны присуждать его перед тестированием решения. Но это закончилось хорошо, потому что это работает сейчас :). В следующий раз буду осторожнее хаха
@FluidMechanicsPotentialFlows Нет проблем! Извините за это изначально! Да, я бы определенно воздержался от присуждения награды, пока ответ действительно не решит вашу проблему. Мне было бы очень плохо, если бы я на самом деле не помог!
Итак, некоторые строки (например, «ОБНОВЛЕНИЕ») отформатированы правильно, а другие нет? Я предполагаю, что это не всегда 3 строки, где UPDATE правильно, а следующие 2 неверны, верно?