Итак, у меня есть база данных .csv, где в первом столбце все числа должны быть целыми числами, но некоторые из них являются строками. Похоже, там были вставлены новые строки. У меня вопрос, как я могу взять то, что не так в этом первом столбце и добавить его ко второму, последнему столбцу и последнему столбцу.
Например, набор данных будет выглядеть как
FACL_KEY HOSP TEACHER..... DESCR REGION
1 'some string' WEST
'some string' NORTH'
Первая строка верна с ключом и строкой в описании, но каким-то образом описание перемещается в следующую строку. Поэтому я хочу добавить некоторую строку в DESCR, а СЕВЕР в область, к которой она принадлежит.
У меня есть код ниже.
import re
import io
import pandas as pd
import numpy as np
def create_warehouse():
with open(r'file name') as f:
data = f.read()
df= pd.read_csv(io.StringIO(re.sub('"\s*\n','"', data)))
for index, row in df.iterrows():
if not find_int((row[0])):
text = []
text.append(row[0])
region = []
region.append(row[1])
row_wth_2_cols = region + text
def find_int(input_string):
try:
int(input_string)
return True
except (TypeError, ValueError):
return False
То, что я делаю, - это поиск текста в первом столбце, и если да, то сохранение его в списке и сохранение региона в списке, а затем я хочу добавить его в предыдущие столбцы.
Я только что заметил что-то в моем csv, где не всегда отключена одна строка данных, иногда две или три, но в этом случае все эти строки должны быть добавлены к предыдущей строке в описании и регионе соответственно.
Ожидаемое решение должно выглядеть следующим образом.
Обратите внимание, что под FACLKEY нет строк, и область перемещается в правильный столбец, а некоторая строка добавляется в описание.
FACL_KEY HOSP TEACHER.... DESCR REGION
1 Fairview 'ER. only' +'some string' WEST
2 Redwood 'pediatrics' NORTH
3 Thomas 'burn unit MIDWEST
Я создал счетчик, чтобы найти, где каждая из проблем возникает по индексу, но я просто пытаюсь решить, как реализовать его для объединения данных.