Как удалить конкретную строку CSV в Python?

Мы используем блокировку файлов для этого (захватите исключительную блокировку в волшебном файле в каталоге данных приложения пользователя), но мы в первую очередь заинтересованы в предотвращении запуска нескольких экземпляров.

Если вы пытаетесь чтобы второй экземпляр передал командные строки args и т. д. ... в первую очередь, тогда использование сокета на локальном хосте будет убивать двух зайцев одним выстрелом. Общий алгоритм:

  • При запуске попробуйте открыть прослушиватель на порту XXXX на localhost
  • , если он не работает, откройте сценарий для этого порта на локальном хосте и отправьте аргументы командной строки, затем выключите
  • , в противном случае выслушайте порт XXXXX на локальном хосте. При получении команд командной строки обрабатывайте их так, как если бы приложение запускалось с этой командной строкой.
1
задан pythonQuestion 16 March 2019 в 22:46
поделиться

2 ответа

Попробуйте сделать следующее:

import pandas as pd

# Read csv file into data frame
df = pd.read_csv('file.csv')

# Perform your operation on row1
row1 = df.iloc[0,:]

# Delete row 1 from the data frame
df = df.iloc[1:,:].reset_index(drop=True)

# df now contains everything in the csv except row 1

# Save new csv as desired
df.to_csv('file.csv') # This will overwrite the original csv file

Вы можете выполнить цикл, описанный выше, и он будет каждый раз удалять новую первую строку CSV.

0
ответ дан Nathaniel 16 March 2019 в 22:46
поделиться

Вы можете просто поместить все строки вашего CSV-файла в список через readlines(), а затем удалить нужную строку. Например:

f = open("mycsvfile.csv")
l = f.readlines()

for i in l:
    ...  # do some operation

    del l[i]  # delete the line
0
ответ дан MarredCheese 16 March 2019 в 22:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: