python使用pandas处理excel文件转为csv文件的方法示例
由于客户提供的是excel文件,在使用时期望使用csv文件格式,且对某些字段内容需要做一些处理,如从某个字段中固定的几位抽取出来,独立作为一个字段等,下面记录下使用acaconda处理的过程;
importpandas
df=pandas.read_excel("/***/***.xlsx")
df.columns=[内部为你给你的excel每一列自定义的名称](比如我给我的excel自定义列表为:
["url","productName","***",。。。,"***"])
(下面开始你自己的表演,对每一列内容进行你自己需要的处理)
df["url"]=df["url"].str.replace("http","https")
df["***"]=df["***"].str.replace("\n","")
df["stract_content"]=df["url"].str[-6:]
表演结束之后,就要保存了
df.drop_duplicates().fillna("").to_csv("/***/***.csv",index=False,encoding="utf-8",sep="\3")
上面为读取路径,下面为保存路径
结束之后,可以通过
df.head(5)来查看结果前5个,判断处理结果是否符合你的预期即可;
下面总结一下将List内容存储到excel和csv:
直接上代码:
list存储到csv文件:下面代码使用codes包操作
withcodecs.open("result.csv","w",encoding="utf-8")asfw:
foriinfinal_res:
fw.write(u"\3".join([jifisinstance(j,unicode)elsestr(j).decode("utf-8")forjini])+"\n")
下面是使用pandas操作:
columns是字符串列表,作为表格的标题头
df=pandas.DataFrame(my_list)
df.columns=["col1","col2",...]
df.to_excel("result.xlsx",index=False,encoding="utf-8")
也可以先存储为csv文件,然后使用pandas转化为excel:
withcodecs.open("result.csv","w",encoding="utf-8")asfw:
foriinfinal_res:
fw.write(u"\3".join([jifisinstance(j,unicode)elsestr(j).decode("utf-8")forjini])+"\n")
withpandas.ExcelWriter('result.xlsx')asew:
pandas.read_csv("result.csv",sep='\3').to_excel(ew,index=False,header=["文件名","query调用时间","调用ip","调用类型","query结束时间","行序号","top5sku","文件总耗时"],sheet_name="result",encoding="utf-8")
或者:
withcodecs.open("result.csv","w",encoding="utf-8")asfw:
foriinfinal_res:
fw.write(u"\3".join([jifisinstance(j,unicode)elsestr(j).decode("utf-8")forjini])+"\n")
df=pandas.read_csv("result.csv",sep="\3")
df.columns=["col1","col2",...]
df.to_excel("result.xlsx",index=False,encoding="utf-8")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。