Я работаю с данными и хочу объединить / объединить некоторые CSV-файлы.
Я попытался код ниже, но есть проблема, у меня появляется сообщение об ошибке ниже, когда я запускаю скрипт. Кажется, он не может читать мои файлы.
Примечание: мой сценарий находится в том же месте, что и мои csv-файлы.
Как я могу это исправить?
Спасибо !!!
Я работаю над окнами и использую анаконду со Spyder. Работает на питоне 3.7
import os
import pandas as pd
L_Log= os.listdir('.')
L_LogClean=[]
for k in range(len(L_Log)):
if 'Logfile_' in L_Log[k]:
Tempo = L_Log[k]
Tempo2 = Tempo[12:16]+Tempo[10:12]+Tempo[8:10]
Tempo2 = int(Tempo2)
L_LogClean.append(Tempo2)
L_LogClean = sorted(L_LogClean)
for k in range(len(L_LogClean)):
Tempo = str(L_LogClean[k])
Tempo2 = 'Logfile_' + Tempo[6:8]+Tempo[4:6]+Tempo[0:4]+'.csv'
L_LogClean[k] = Tempo2
print(L_LogClean)
dfList=[]
colnames=['No.','Date','Time','Temp1','Unit','Temps2','Unit','Lux2','Unit','BP1','Humidité relat','Unit','CO2','Unit','Présence','Temp1_EnO','Unit','Temp3_EnO','Unit','RH3_EnO','Unit','Chauffage']
for filename in L_LogClean:
print(filename)
df=pd.read_csv(filename,header=None)
dfList.append(df)
concatDf=pd.concat(dfList,axis=0)
concatDf.columns=colnames
concatDf.to_csv('Concat.csv')
Я ожидаю, что CSV-файл будет объединением разных файлов, упорядоченных по их имени.
Когда я запускаю скрипт, он показывает мне это сообщение об ошибке:
FileNotFoundError: [Errno 2] File b'Logfile_13052019.csv' does not exist: b'Logfile_13052019.csv'
Но мой файл Logfile_13052019.csv находится в той же папке, что и скрипт
ОБНОВЛЕНИЕ:
dfList=[]
colnames=['No.','Date','Time','Temp1','Unit','Temps2','Unit','Lux2','Unit','BP1','Humidité relat','Unit','CO2','Unit','Présence','Temp1_EnO','Unit','Temp3_EnO','Unit','RH3_EnO','Unit','Chauffage']
for filename in L_Log:
filename = "E://PJT/TEST2/" + filename
print(filename)
df=pd.read_csv(filename,header=None,error_bad_lines=False, encoding = "ISO-8859-1")
dfList.append(df)
concatDf=pd.concat(dfList,axis=0)
concatDf.columns=colnames
concatDf.to_csv('Concat.csv')
Я отредактировал свой код и получил эту ошибку
ValueError: Length mismatch: Expected axis has 1 elements, new values have 22 elements
Все еще заблокирован для этого скрипта
ОБНОВЛЕНИЕ 2
I added the separator type on my script :
dfList=[]
colnames=['No.','Date','Time','Temp1','Unit','Temps2','Unit','Lux2','Unit','BP1','Humidité relat','Unit','CO2','Unit','Présence','Temp1_EnO','Unit','Temp3_EnO','Unit','RH3_EnO','Unit','Chauffage']
for filename in L_Log:
filename = "E://PJT/TEST2/" + filename
print(filename)
df=pd.read_csv(filename,header=None, sep = ";", error_bad_lines=False, encoding = "ISO-8859-1")
dfList.append(df)
concatDf=pd.concat(dfList,axis=0)
concatDf.columns=colnames
concatDf.to_csv('Concat.csv')
Но у меня все еще есть сообщение об ошибке:
ValueError: Length mismatch: Expected axis has 25 elements, new values have 22 elements
Обновление 3:
Я изменил эту часть
dfList=[]
colnames=['bite','No.','Date','Time','Temp1','Unit','Temp2','Unit','Lux2','Unit','BP1','Humidité Relat','Unit','CO2','Unit','Présence','Temp1_EnO','Unit','Temp2_EnO','Unit','Temp3_EnO','Unit','RH3_EnO','Unit','Chauffage']
for filename in L_Log:
filename = "E://PJT/TEST2/" + filename
print(filename)
df=pd.read_csv(filename,header=None, sep = ";", error_bad_lines=False, encoding = "ISO-8859-1")
dfList.append(df)
concatDf=pd.concat(dfList,axis=0)
concatDf.columns=colnames
concatDf.to_csv('Concat2.csv')
В конце я получил объединенный файл, но в каждой строке, когда я открываю его с помощью Excel, в первой ячейке каждой строки есть нечто подобное:
1,1,13.05.2019,00: 01: 21, "18,16", A & deg; С, "12,00", A & deg; С, "1,00", Люкс, 0,37,%, 487, частей на миллион, 0, "18,04", A & deg; С, "18,20", A & deg; С, "17,76", A & deg; С, "37,20",%, 0, * * одна тысяча тридцать четыре
Результат слияния
Но лист должен выглядеть так:
Нормальная форма листа