簡體   English   中英

Pandas/Python,從多個 csv 中讀取一行,並組合成 1 csv

[英]Pandas/Python, Reading one row from multiple csv, and combining into 1 csv

我對 Python 和 Pandas 等(放輕松)還很陌生,到目前為止已經花了整整幾天研究如何做到這一點,但沒有成功。 這是項目。

為 2 個不同的數據點創建了兩個不同的 CSV,每個數據點都有當天的運行總計(以最后一行中該特定數據的當天總計結束)。 例如,在4_23_2022_Data1.csv中,有DateData1列,在4_23_2022_Data2.csv中,有DateData2列,each.csv 中的最后一行包含當天的日期(顯然)和該數據的總計(要么是 Data1或 Data2 列)。

我想要完成的是:讀取包含 2 組 Data.csv 的目錄(多天,多天),並創建一個 combined.CSV with 'Date', 'Data1', Data2' columns, with the set Data1 和 Data2 顯示在該特定日期的相應行中。 [創建這些 .csv 的主系統最初無法在 1.csv 中組合 Data1 和 Data2,因此我正在嘗試創建一個可以快速掃描並執行此操作的程序。]

我最初的編碼嘗試只是淺嘗輒止(不考慮任何循環):

df_1 = pd.read_csv('04_23_2022_Data1.csv', usecols = ['Date','Data1'])

df_2 = pd.read_csv('04_23_2022_Data2.csv', usecols = ['Date','Data2'])

##the last line of the day is 538

Data1_date = df1_read.iloc[538]['Date']     

Data1_value = df1_read.iloc[538]['Data1']

Data2_date = df2_read.iloc[538]['Date'] 

Data2_value = df2_read.iloc[538]['Data2']

df_export = pd.DataFrame(columns = ['Date','Data1','Data2'])

df_export.at[1, 'Date'] = Data1_date

df_export.at[1, 'Data1'] = Data1_value

df_export.at[1, 'Data2'] = Data2_value

df_export.to_csv('Combo_of_Data1_and_Data2_per_Date.csv')

任何幫助或進一步的指導將不勝感激。 再次,對於這個問題的完全新手攻擊感到抱歉,但我正在嘗試。 :)

您可以使用glob.glob() 遍歷文件夾中的文件。 並使用 Python 內置函數iter()zip()成對地遍歷您的文件。

# import
import glob

# define folder path
# look for files ending in '.csv' only
path = r'\data_folder\*.csv'

# loop through folder and store all relevant files as a list
file_paths = glob.glob(path)
# iterate through list to get elements in pairs
iterable_list = iter(file_paths)
# zip pairs of elements
iterable_list = zip(iterable_list, iterable_list)

# loop through list of files in pairs and do stuff...
for file_one, file_two in pair_elements(file_paths):
    df_1 = pd.read_csv(file_one)
    df_2 = pd.read_csv(file_two)
    # do stuff

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM