python使用pandas处理excel文件转为csv文件的方法示例

yipeiwu_com7年前Python基础

由于客户提供的是excel文件,在使用时期望使用csv文件格式,且对某些字段内容需要做一些处理,如从某个字段中固定的几位抽取出来,独立作为一个字段等,下面记录下使用acaconda处理的过程;

import pandas
 
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包操作

with codecs.open("result.csv", "w", encoding="utf-8") as fw:
  for i in final_res:
    fw.write(u"\3".join([j if isinstance(j, unicode) else str(j).decode("utf-8") for j in i]) + "\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:

with codecs.open("result.csv", "w", encoding="utf-8") as fw:
  for i in final_res:
    fw.write(u"\3".join([j if isinstance(j, unicode) else str(j).decode("utf-8") for j in i]) + "\n")
 
with pandas.ExcelWriter('result.xlsx') as ew:
  pandas.read_csv("result.csv", sep='\3').to_excel(ew, index=False, header=["文件名", "query调用时间", "调用ip", "调用类型", "query结束时间", "行序号", "top5 sku", "文件总耗时"], sheet_name="result", encoding="utf-8")

或者:

with codecs.open("result.csv", "w", encoding="utf-8") as fw:
  for i in final_res:
    fw.write(u"\3".join([j if isinstance(j, unicode) else str(j).decode("utf-8") for j in i]) + "\n")
 
df = pandas.read_csv("result.csv", sep="\3")
df.columns = ["col1", "col2", ...]
df.to_excel("result.xlsx", index=False, encoding="utf-8")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python在windows下创建隐藏窗口子进程的方法

本文实例讲述了python在windows下创建隐藏窗口子进程的方法。分享给大家供大家参考。具体实现方法如下: import subprocess IS_WIN32 = 'win32...

python中如何正确使用正则表达式的详细模式(Verbose mode expression)

python中如何正确使用正则表达式的详细模式(Verbose mode expression)

简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一...

Python实现查找匹配项作处理后再替换回去的方法

本文实例讲述了Python实现查找匹配项作处理后再替换回去的方法。分享给大家供大家参考,具体如下: 这里实现Python在对找到的匹配项进行适当处理后,再替换掉原来那个匹配的项。 #...

linux平台使用Python制作BT种子并获取BT种子信息的方法

本文实例讲述了linux平台使用Python制作BT种子并获取BT种子信息的方法。分享给大家供大家参考,具体如下: 最近研究了一下linux BT服务器环境的搭建,需要在linux下制作...

Python使用微信SDK实现的微信支付功能示例

本文实例讲述了Python使用微信SDK实现的微信支付功能。分享给大家供大家参考,具体如下: 最近一段时间一直在搞微信平台开发,v3.37版本微信支付接口变化贼大,所以就看着php的de...