在python中读取由多个表组成的复杂csv

在python中读取由多个表组成的复杂csv,python,csv,Python,Csv,我尝试用python读取.csv文件,它会显示以下标题: 日期、视频 12.11.2020,https://link_to_video ID,“家长ID”、作者、日期、喜好、评论 一些数据 日期、视频 12.11.2020,https://link_to_video ID,“家长ID”、作者、日期、喜好、评论 等等 它有“,”分隔符,但多个标题让我大吃一惊。 浏览每一行的一个方法是,如果row='Date and video'跳过这一行和下一行。但这似乎不是真正有效的方法。如果您有任何想法,我将

我尝试用python读取.csv文件,它会显示以下标题:

日期、视频 12.11.2020,https://link_to_video ID,“家长ID”、作者、日期、喜好、评论 一些数据 日期、视频 12.11.2020,https://link_to_video ID,“家长ID”、作者、日期、喜好、评论 等等

它有“,”分隔符,但多个标题让我大吃一惊。
浏览每一行的一个方法是,如果row='Date and video'跳过这一行和下一行。但这似乎不是真正有效的方法。如果您有任何想法,我将不胜感激。谢谢

我用效率不高的代码解决了这个问题,但它成功了。 以下是解决方案:

import pandas as pd
import codecs
csv_reader = codecs.open( "results.csv", "r", "utf_8_sig" )
line_count = 0
video_id = []
video_links = []
rows = []
for row in csv_reader:
    if 'Date,Video' in row:
        video_id.append(line_count)
    line_count+=1
    rows.append(row)

video_len = []
for i in range(1, len(video_id)):
    video_len.append([video_id[i-1]+2, video_id[i]])


dfs = []
header = ['ID', '"Parent Id"', 'Author', 'Date', 'Likes', 'Comment']

for i in range(len(video_len)):
    video_raw_ds = []
    videolink = rows[start-1].split(',')[1][:-2]
    start = video_len[i][0]
    end = video_len[i][1]
    for j in range(start, end):
        if j == start:
            continue
        row = rows[j]
        if len(row) <= 5:
            drop_counter += 1
        else:
            row = row.split(',')
            text = ''.join(row[5:]).strip('"')
            row = row[:5]
            row.append(text)
            if len(row) <=5: video_raw_ds[-1][-1] += text
            else: video_raw_ds.append(row)
    tmp_df = pd.DataFrame(video_raw_ds, columns=header)
    tmp_df['videolink'] = videolink
    dfs.append(tmp_df)

dataset = pd.concat(dfs, axis=0)
dataset.to_csv('formatted.csv')

将熊猫作为pd导入
导入编解码器
csv\u reader=codecs.open(“results.csv”、“r”、“utf\u 8\u sig”)
行计数=0
视频_id=[]
视频链接=[]
行=[]
对于csv_读取器中的行:
如果第行为“日期,视频”:
视频\u id.append(行\u计数)
行计数+=1
行。追加(行)
视频长度=[]
对于范围内的i(1,len(视频_id)):
视频长度附加([video\u id[i-1]+2,video\u id[i]]))
dfs=[]
header=['ID','Parent ID','Author','Date','Likes','Comment']
对于范围内的i(len(video_len)):
视频\u原始\u ds=[]
videolink=行[start-1]。拆分(',)[1][:-2]
开始=视频长度[i][0]
完=视频短片[i][1]
对于范围内的j(开始、结束):
如果j==开始:
持续
行=行[j]
if len(世界其他地区)