我有一个csv文件,它是在信息之上设置的信息,我正在努力将其读取到数据帧中。
原始CSV如下所示:
我希望得到基本上3个不同的东西: 1)在第一行定义日期和公司名称2)将汇总表(顶层表)放入数据框3)将详细的sales表放入另一个数据框
我尝试了df = pd.read_cs(filepath,error_bad_lines=False)
,它只给出了汇总表,但是只有3行,因为第一行只有3列。对如何阅读这些文件有什么想法吗?汇总表的行号不固定(行数不同)。任何帮助都将不胜感激!谢谢!
发布于 2020-04-26 08:08:36
对于那些感兴趣的人,这是我用来解决这个问题的方法:
from csv import reader
with open('*.csv', 'r') as read_obj:
csv_reader = reader(read_obj)
list1 = []
list2 = []
list3 = []
for row in csv_reader:
if len(row) == 3:
list1.append(row)
if len(row) == 4:
list2.append(row)
if len(row) == 7:
list3.append(row)
df1 = pd.DataFrame(list1)
df2 = pd.DataFrame(list2)
df3 = pd.DataFrame(list3)
发布于 2020-04-22 11:53:39
您可以使用参数nrows
指定要读取的行数,也可以使用skiprows
跳过读取pd.read_excel
中的某些行
您可以将如下所示的top-table
读入到df中:
在这里,您可以跳过包含一些无用标题的第一行,然后读取包含top-table数据的下10行。
df1 = pd.read_excel('test.xls', skiprows = 1, nrows= 10, usecols = 'A:D')
然后,另一个df中的second-table
如下所示:
在这里,您可以跳过已经在df1中读取的行,并从文件中读取剩余的数据。
df2 = pd.read_excel('test.xls', skiprows = 6)
https://stackoverflow.com/questions/61364304
复制相似问题