Я уверен, что есть более эффективный способ сделать это, поскольку мой метод включает два цикла for, но это быстрый и грязный способ преобразования данных так, как вы ищете:
# df is your initial dataframe
df = pd.DataFrame({"A": [1,1,1],
"B": [2,2,2],
"C": [3,3,3]},
index=["A","B","C"])
#long_rows will store the data we need for the new df
long_rows = []
# loop through each row
for i in range(len(df)):
#loop through each column
for j in range(len(df.columns)):
ind = list(df.index.values)[i]
col = list(df.columns.values)[j]
val = df.iloc[i,j]
row = [ind, col, i+1, j+1, val]
long_rows.append(row)
new_df = pd.DataFrame(long_rows, columns=["Col1", "Col2", "Row1", "Row2", "Value"])
[113 ] и результат:
new_df
Col1 Col2 Row1 Row2 Value
0 A A 1 1 1
1 A B 1 2 2
2 A C 1 3 3
3 B A 2 1 1
4 B B 2 2 2
5 B C 2 3 3
6 C A 3 1 1
7 C B 3 2 2
8 C C 3 3 3
Ввод даты и времени при использовании доступа # , поскольку доступ не может выполнить автоматическое преобразование из символ / текст в дату или время в SQL-запросе (или для доступа к вызову), и вам лучше использовать международный стандарт для ввода времени даты, которое было ГГГГ-ММ-ДД ЧЧ: NN: СС (4-значный год, двухзначный месяц, двухзначный день, двухзначный час, двухзначная минута, двухзначная секунда)
, поэтому для 21.04.2009 14:25:53 использовать # 2009-04-21 14: 25: 53 #
или, если это все еще не помогло, вы можете использовать # '2009-04-21 14:25:53' #
Редактировать: выше может работать, если вы включаете ANSI 92 или используете ADO / OLEDB в качестве интерфейса базы данных, спасибо Дэвиду за указание
Я предлагаю вам использовать формат ГГГГ-ММ-ДД ЧЧ: NN: SS и пробовать его в одиночных кавычках (') перед используйте # как я сказал выше