0

我对 Python 还是很陌生,而且……嗯……比如说,在编码方面,我并不是真正的专家。所以提前为这个非常业余的问题道歉。我正在尝试合并几个 googletrends report.csv 文件以用于我的研究。

我遇到的两个问题:

  1. 报告文件不仅仅是一个电子表格,还包含许多其他不相关的信息。即我只想合并每个文件的某个数组(实际上只想要包含每个月的日期和相应 SVI 的每日数据。比如:第 6 到 30 列)

  2. 由于(每日)数据将从月度报告文件中提取,并且月份没有固定的天数,我不能只使用固定的列号来读取,而是需要根据特定月份的天数来读取。

非常感谢您的帮助!

编辑:

我使用的代码:

import pandas as pd
report = pd.read_csv('C:/Users/paul/Downloads/report.csv', skiprows=4, skipfooter=17)
print(report)

它产生的输出

我设法剪掉了前几行,但我不知道如何从第 31 行开始剪掉底部的钻头。所以skipfooter似乎没有工作。但是我不能使用nrows,因为月份的天数不同,所以我不会提前知道行数。

4

1 回答 1

0

事实证明,偶尔阅读 python 给出的警告确实有帮助。

ParserWarning:回退到“python”引擎,因为“c”引擎不支持skip_footer;你可以通过指定engine='python'来避免这个警告。

我遇到的问题,即 skip_footer 选项不起作用,显然与使用的 c 引擎有关。

对于遇到相同问题的任何人,这是我解决它的代码:

import pandas as pd
report = pd.read_csv('C:/Users/paul/Downloads/report.csv', skiprows=4, skip_footer=27, engine='python')

print(report)

只需添加 engine='python' 即可摆脱 c 引擎问题。不要问我为什么最后必须跳过 27 行(我很确定我数到了 17 行),但经过一些试验和错误,这才奏效。

于 2016-07-07T16:20:05.020 回答