rt
小白剛學Python,第一次用,想要合并多個Excel做處理。其中有一列資料源有0開頭的字串和其余數字開頭的數值,用astype統一改成字串格式以后打開發現原來0開頭的字串沒變,別的數值格式的雖然變成了字串但是后面多了個.0。想請教一下大佬們有沒有解決辦法
uj5u.com熱心網友回復:
把代碼和檔案能發一下?uj5u.com熱心網友回復:
import os
import pandas as pd
import numpy as np
import xlrd
def file_name(file_dir):
L=[]
for root,dirs,files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == ".xls":
L.append(os.path.join(root,file))
return L
def hebing_data():
T = []
wd = ["網點"]
T = file_name(r"D:\統計表收集\2020.2.21-1540")
#print(T)
sheet_value = []
for m in range(0,len(T)):
rb = xlrd.open_workbook(T[m])
data = rb.sheet_by_name("Sheet1")
x = data.row_values(0)
n = data.nrows
for i in range(1,n):
wd.append(T[m][72:76])
sheet_value.append(data.row_values(i))
sheet_value.insert(0,x)
frame = pd.DataFrame(sheet_value)
frame[11] = wd
#frame[7] = frame[7].apply(lambda x:str(x))
#frame[10] = frame[10].apply(lambda x:str(x))
frame[7] = frame[7].astype("str")
frame[10] = frame[10].astype("str")
frame.to_excel("hebing2.xlsx",sheet_name="Sheet1",encoding = "gbk",header = None,index = False)
hebing_data()
uj5u.com熱心網友回復:
代碼在上面,檔案有敏感資訊不方便發,出問題的就是第7和10列uj5u.com熱心網友回復:
可以在第11行后,加一個print (root)看看他的值,或print(os.path.join(root,file))看一下是不是檔案名出錯轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/87912.html
