我有数千个 CSV 文件,其中大多数都有以下列
threadSubject
bccList
sender_name
recipient_names
sender
dateReceived
date
recipients
subject
不幸的是,取决于 CSV 文件,如果存在,每列可能位于不同的列号,因此使解析复杂化。
我需要做的是从输入 CSV 文件中仅提取这些选定的列并将它们全部放入单个输出文件中。
我是 python 新手,确信有非常简单的方法可以实现这一点,但我无法弄清楚。我不确定是否应该使用 Pandas 或其他机制。
在逻辑代码中,它或多或少应该像这样工作。
for file in (all files in current folder); do
open file;
get header and find out at which positions are interesting columns
#or match by column name;
dump interesting columns into output file in the right order;
close file;
done
我的棘手部分是get header...
你们中的任何人有什么建议如何以聪明的pythonic方式做到这一点吗?
我考虑过 bash 并手动解析它,但认为在您的帮助下学习如何在 python 中执行它可能是一个好主意。
ps背景是我需要浏览过去5年的所有电子邮件,并找出每天发送第一封电子邮件和最后一封电子邮件的时间。我使用 Mork 工具基于 Thunderbird MSF 文件创建的 CSV。一旦我完成了这个 CSV 解析,我需要找到一种简单的方法来获取同一天第一封电子邮件和最后一封电子邮件的时间。但这是另一个故事。
提前感谢所有建议。