to_csv
utf8 エンコーディングを使用してpandas DataFrame を作成することにより、python スクリプトを使用して .csv ファイルを生成します。
consEx.to_csv(os.path.join(base_dir, "Database/Tables/Consumption Expenditure/consumptionExpenditure.csv"), encoding = 'utf8', index = False)
次に、同様に utf8 に設定さLoad Data Local Infile
れたテーブルに、経由で Amazon RDS MySQL にアップロードします。Charset
CREATE TABLE IF NOT EXISTS Consumer.Expenditure (
ceID INT NOT NULL AUTO_INCREMENT ,
ceCategory INT NOT NULL,
year INT NULL,
countryID INT NOT NULL,
ceYoY DEC(15,2) NULL,
dateCreated DATE NOT NULL ,
lastModified DATETIME NULL DEFAULT NULL ,
dateDeleted DATETIME NULL DEFAULT NULL ,
PRIMARY KEY (ceID) ,
CONSTRAINT ce_fk_countries
FOREIGN KEY (countryID)
REFERENCES ConsumerAlpha.Countries (countryID)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
CHARSET utf8
ENGINE = InnoDB;
SHOW WARNINGS;
今、アップロードは、最初にcsvファイルを開いて手動で保存した場合にのみ機能します-同じ名前、同じ場所。それ以外の場合、エラーなしで失敗します - 何もインポートしません。ただし、開いて保存して閉じると、アップロードは完全に機能します。
LOAD DATA LOCAL
INFILE '/Users/xxx/Dropbox/Data/Database/Tables/Consumption Expenditure/consumptionExpenditure.csv'
INTO TABLE Consumer.Expenditure
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\r'
IGNORE 1 LINES
(ceCategory, year, countryID, ceYoY, dateCreated)
SET dateCreated = NOW();
このステップを回避するために欠けているものはありますか? 大きなテーブルの場合、多数の .csv ファイルが存在する場合があります。私はかなり見回しましたが、この特定の問題はどこにもありませんでした。ありがとう!