带有ICS文件和CSV的Python

2024-06-25 07:23:33 发布

您现在位置:Python中文网/ 问答频道 /正文

一个朋友问我一些关于个人项目的帮助,但我不得不承认我的Python技能是非常基础的。在

这里的想法是:

我必须下载multplieics文件(google日历文件)。 我找到了multidl python程序。它工作得很好。所有文件的网址,我必须下载存储在一个txt文件。在

文件格式类似于YYYYMMDD_梅尔迪.icsYYYYMMDD年_测试.ics在

这里有一个ics文件的例子

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Chambre Champêtre
X-WR-TIMEZONE:Europe/Paris
BEGIN:VEVENT
DTSTART:20180407T140000Z
DTEND:20180408T080000Z
DTSTAMP:20181002T185454Z
UID:3a4j71mpemgjoo66anfd0tcvrh@google.com
CREATED:20180401T165816Z
DESCRIPTION:
LAST-MODIFIED:20180401T165816Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:direct Chantal
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20181001T150000Z
DTEND:20181002T080000Z
DTSTAMP:20181002T185454Z
UID:ccs6aor5cor3cbb270r3ab9kcpi6abb26di34b9kc9im8chj75hm4d35cc@google.com
CREATED:20181001T154801Z
DESCRIPTION:
LAST-MODIFIED:20181001T154801Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Ferme
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

我想要的输出是一个csv文件,格式如下:

^{pr2}$

输出csv文件应包含ICS文件的所有转换

随便问我什么

谢谢大家的帮助。在


Tags: 文件comuidgooglewrendicsbegin
1条回答
网友
1楼 · 发布于 2024-06-25 07:23:33

解决方法如下。如果有帮助请告诉我。这里我正在读取目录C:/Users/Dell/Documents中的所有.ics文件。你的情况不同。在

from os import listdir

filenames = listdir(r'C:/Users/Dell/Documents')

for filename in filenames:
    if filename.endswith('.ics'):
        file=open(filename,"r")
        outputhead=['X-WR-CALNAME','DTSTART','DTEND','CREATED','LOCATION','SUMMARY']
        datalist=[]
        outfile=open(filename+'ouput.csv',"w")
        outfile.write(';'.join(outputhead))
        outfile.write('\n')
        outfile.close()
        outfile=open(filename+'ouput.csv',"a+")
        for i in file:
            if i.split(':')[0] in outputhead:
                datalist.append(i.split(':')[1].replace('\n',''))
            if i.split(':')[0]=='SUMMARY':
                outfile.write(';'.join(datalist))
                outfile.write('\n')
                datalist=[]
        outfile.close()

相关问题 更多 >