第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 Pandas 加載許多 CSV

使用 Pandas 加載許多 CSV

GCT1015 2022-07-26 09:44:21
我的硬盤上存儲(chǔ)了 3000 個(gè) CSV 文件,每個(gè)文件包含數(shù)千行和 10 列。行對(duì)應(yīng)于日期,并且行數(shù)以及確切日期在電子表格中是不同的。所有電子表格的列的編號(hào) (10) 和標(biāo)簽都相同。對(duì)于從所有電子表格中的最早日期到所有電子表格中的最新日期的每個(gè)日期,我需要 (i) 訪問每個(gè)電子表格中存在該日期數(shù)據(jù)的列,(ii) 運(yùn)行一些計(jì)算,以及 (iii) 存儲(chǔ)該日期的結(jié)果(一組 3 或 4 個(gè)標(biāo)量值)。澄清一下,results應(yīng)該是我工作區(qū)中的一個(gè)變量,用于存儲(chǔ)所有 CSV 的每個(gè)日期的結(jié)果。有沒有一種方法可以使用 Python 加載這些數(shù)據(jù),既節(jié)省時(shí)間又節(jié)省內(nèi)存?我嘗試為每個(gè) CSV 創(chuàng)建一個(gè) Pandas 數(shù)據(jù)框,但是將所有數(shù)據(jù)加載到 RAM 中需要將近十分鐘,并且?guī)缀跬耆顫M了我的 RAM。是否可以檢查給定 CSV 中是否存在日期,如果存在,則將與該 CSV 對(duì)應(yīng)的列加載到單個(gè)數(shù)據(jù)框中?這樣,我可以只從每個(gè) CSV 加載我需要的行來進(jìn)行計(jì)算。
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

簡(jiǎn)單的解決方案。去下載用于 SQlite 的數(shù)據(jù)庫(kù)瀏覽器。打開它,然后創(chuàng)建新數(shù)據(jù)庫(kù)。之后,從 CSV 轉(zhuǎn)到文件和導(dǎo)入表。(對(duì)所有 CSV 表執(zhí)行此操作)或者,您可以使用 Python 腳本和 sqlite3 庫(kù)快速自動(dòng)化地創(chuàng)建表并從 CSV 表插入值。 

http://img1.sycdn.imooc.com//62df471500012e2506510396.jpg

完成導(dǎo)入所有表格后,根據(jù)您的詳細(xì)信息使用此功能。


import sqlite3

import pandas as pd


data = pd.read_csv("my_CSV_file.csv")           # Your CSV Data Path

def create_database():                          # Create Database with table name

    con = sqlite3.connect('database.db')

    cur = con.cursor()

    cur.execute("CREATE TABLE IF NOT EXISTS my_CSV_data (id INTEGER PRIMARY KEY,  name text, address text,mobile text , phone text,balance float,max_balance INTEGER)")

    con.commit()

    con.close()


def insert_into_company():                      # Inserting data into column

    con = sqlite3.connect(connection_str)

    cur = con.cursor()

    for i in data:

        cur.execute("INSERT INTO my_CSV_data VALUES(Null,?,?,?,?,?,?)",(i[0],i[1],i[2],i[3],i[4],i[5]))

    con.commit()

    con.close()


def select_company():                           # Viewing Data from Column

    con = sqlite3.connect(connection_str)

    cur = con.cursor()

    cur.execute("SELECT * FROM my_CSV_data")

    data = cur.fetchall()

    con.close()

    return data


create_database()

insert_into_company()

for j in select_company():

    print(j)

這樣做一次,您可以一次又一次地使用它。它將使您能夠在不到 1 秒的時(shí)間內(nèi)訪問數(shù)據(jù)。問我,如果您需要任何其他幫助。我很樂意為您提供指導(dǎo)。


查看完整回答
反對(duì) 回復(fù) 2022-07-26
  • 1 回答
  • 0 關(guān)注
  • 81 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)