Данные неправильно отображаются после экспорта в CSV sqlite3 Python - PullRequest
1 голос
/ 14 января 2020

Я пытаюсь экспортировать данные из таблицы в файл CSV. Однако два столбца, содержащие сумму () из фрейма данных pandas, отображаются неправильно. Код, который я использую:

df6 = pd.read_sql_query("SELECT * FROM tblIncome", conn)
    df7 = pd.read_sql_query("SELECT * FROM tblCategory", conn)
    if sure == "Y":
        total_mnthinc = df6["IncomeAmount"].sum()
        print(total_mnthinc)
        total_mnthbudget = df7["CategoryMonthlyBudget"].sum()
        print(total_mnthbudget)
        c.execute("INSERT INTO tblTotal (TotalMonthlyIncome, TotalMonthlyBudget, UserID) VALUES (?, ?, ?)",
                  (total_mnthinc, total_mnthbudget, "1"))
        conn.commit()
        menu()

Данные отображаются как: TotalMonthlyIncome: enter image description here

Код, используемый для экспорта:

elif tbl_input == "E":
        print("Exporting CSV data to root directory of the Expense Management System... \n")
        data = c.execute('SELECT * FROM tblTotal')
        with open('tblTotalData.csv', 'w') as f:
            writer = csv.writer(f)
            writer.writerow(['TotalID', 'TotalMonthlyIncome', 'TotalMonthlyBudget', 'UserID'])
            writer.writerows(data)
        menu()

Любая помощь очень ценится!

РЕДАКТИРОВАТЬ: после добавления строк в комментарии ниже, он теперь отображается как: enter image description here

РЕДАКТИРОВАТЬ 2: я исправил это, добавив:

            total_mnthinc = int(df6["IncomeAmount"].sum())
            print(total_mnthinc)
            total_mnthbudget = int(df7["CategoryMonthlyBudget"].sum())

1 Ответ

1 голос
/ 14 января 2020

Должен быть преобразован из байтов в int.

int.from_bytes(df6["IncomeAmount"].sum(), byteorder='big', signed=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...