gpt4 book ai didi

python - 选择包含字符串值的列表

转载 作者:行者123 更新时间:2023-11-30 23:04:42 24 4
gpt4 key购买 nike

我有一个包含以下非结构化数据的文件。这是 Google 趋势输出的结果,大约有四到五组“表格”相互堆叠在一个电子表格中。

['2015-10-25', '100']
['2015-10-26', '88']
['2015-10-27', '82']
['2015-10-28', '72']
['2015-10-29', '68']
['2015-10-30', '73']
['2015-10-31', '85']
['2015-11-01', '98']
['2015-11-02', ' ']
['2015-11-03', ' ']
['2015-11-04', ' ']
[]
[]
['Top subregions for nespresso']
['Subregion', 'nespresso']
['New York', '100']
['Massachusetts', '83']
['California', '83']
['New Jersey', '80']
['Washington', '77']
['Florida', '72']
['Maryland', '64']
['District of Columbia', '63']
['Colorado', '61']

我想做的是只选择那些包含日期字符串的行,它始终是第一个表(上面有几个标题)。这就是我现在所拥有的。当然,它不起作用,因为它返回一个空数据列表。

with open('GT_Trends_Daily.csv', 'rt') as csvfile:
csvReader = csv.reader(csvfile)
data = []

for row in csvReader:
dat = [s for row in csvReader if "2015" in s]
data.append(dat)

for i in data:
print i

我在 R 中有一个解决方案,但我希望有一天能切换到 Python,所以我一直在研究如何解决这个问题。

最佳答案

我想你想要这个:

for row in csvReader:
if any('2015' in s for s in row): data.append(row)

除非您只想附加日期:

for row in csvReader:
dat = [s for s in row if '2015' in s]
if dat: data.append(dat)

你的主要问题是你的列表理解真的很奇怪并且迭代每个 row in csvReader这就是 for 循环的作用。

关于python - 选择包含字符串值的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33575041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com