python - 如何使用 python 从列表中读取所需的值并将其存储在 csv 中?
问题描述
我有一个列表格式的回复。我必须阅读列表并仅将所需值存储在 CSV 文件中的“;”中 分隔值。
row = "[('Employee', 'Shift', 'IT', '5:15AM', 'Server', 'Manager', 'empemail@cmp.com'),('Employee', 'Shift', 'IT', '6:15AM', 'Server', 'Manager', 'empemail@cmp.com'),('Employee', 'Shift', 'CALL CENTER', '7:15AM', 'Server', 'Manager', 'empemail@cmp.com'),('Employee', 'Shift', 'CALL CENTER', '8:15AM', 'Server', 'Manager', 'empemail@cmp.com')]"
现在我需要以以下预期 格式将列表存储在 CSV 文件中。
param_Name,Param_Value
p_Name,Employee
p_operationType,IT;IT;CALL CENTER;CALL CENTER
p_Time,5:15 AM;6:15 AM;7:15 AM;8:15 AM
p_avaiablity,Daily
p_email,empemail@cmp.com
我正在尝试使用熊猫。
import csv
import pandas as pd
df = pd.DataFrame(data=row).T
df.to_csv('csvfile.csv',sep=';',index=False,header=False)
print(df)
for item in df:
print(item)
#Stuck on how to proceed further...
使用此代码,我得到一个 csv 文件
param_Name,Param_Value
p_name,Employee;Employee;Employee;Employee
p_avaiablity,Daily;Daily;Daily;Daily
如何迭代列表并仅获取所需的值并按预期格式存储?
解决方案
希望这可以帮助
import pandas as pd
row = [('Employee', 'Shift', 'IT', '5:15AM', 'Server', 'Manager', 'empemail@cmp.com'),('Employee', 'Shift', 'IT', '6:15AM', 'Server', 'Manager', 'empemail@cmp.com'),('Employee', 'Shift', 'CALL CENTER', '7:15AM', 'Server', 'Manager', 'empemail@cmp.com'),('Employee', 'Shift', 'CALL CENTER', '8:15AM', 'Server', 'Manager', 'empemail@cmp.com')]
# use dataframe constructor properly and name your columns
cols = ['Employee', 'Dont_know_what_this_is', 'department', 'time', 'location', 'status', 'email']
df = pd.DataFrame.from_records(row, columns=cols)
for index, row in df.iterrows():
# do what you want with your data
print(row)
# or use 'loc' function to get specific columns
df = df.loc[df.department == 'IT']
print(df)
# then export your csv
df.to_csv('csvfile.csv',sep=';',index=False,header=False)
输出:
Employee Dont_know_what_this_is department time location status email
0 Employee Shift IT 5:15AM Server Manager empemail@cmp.com
1 Employee Shift IT 6:15AM Server Manager empemail@cmp.com
2 Employee Shift CALL CENTER 7:15AM Server Manager empemail@cmp.com
3 Employee Shift CALL CENTER 8:15AM Server Manager empemail@cmp.com
定位后:
Employee Dont_know_what_this_is department time location status email
0 Employee Shift IT 5:15AM Server Manager empemail@cmp.com
1 Employee Shift IT 6:15AM Server Manager empemail@cmp.com
推荐阅读
- javascript - 定制材料微调器不可见
- reactjs - Emotion CSS prop 样式在预取 Next.js 页面时中断
- azure-ad-b2c - 在 Azure Active Directory B2C 中自定义用户界面
- python - python chatbot,将聊天机器人集成到网站
- angular - Ionic 5 - 离子内容没有可见溢出(无法滚动)
- python - 是否可以从函数应用程序中的 Azure API 网关调用中检索标头?
- python - Pandas 按组将列转换为百分比
- wordpress - 尝试在 Google 云平台上编辑 wp-config 文件但收到此消息
- r - 在 ggplot2 中绘制非线性模型输出的输出
- autodesk-forge - 如何在 Autodesk Forge 查看器上通过拖放添加对象