簡體   English   中英

根據子字符串條件在python中編寫csv

[英]write csv in python based on sub-string condition

我在數據幀( df )中具有以下result變量,並且我試圖為以“ test”開頭的文件輸出一個csv文件

abandoned
static
test_a_1
test_b_2
abandoned
test_b_3

以下代碼不起作用。 預先感謝您的見解

substr="test"
if substr in df['result']:
    df.to_csv("C:/Projects/result.csv",sep=',',index=False)

在Python邏輯中,僅僅因為“ test_a_1”在列表中並不意味着“ test”就在其中。

Python如何評估“ [list]中的[string]”語句的示例:

>>> test = 'test1'
>>> testlist = ['test1', 'test2']
>>> if 'test' in test:
...     print('hi')
... 
hi
>>> if 'test' in testlist:
...     print('hi')
... 
>>>

這將工作:

substr="test"
for val in df['result']:
    if substr in val:
        # Do stuff
        # And optionally (if you only need one CSV per dataframe rather than one CSV per result):
        break

如果您的意思是要制作一個僅包含結果以“ test”開頭的行的csv,請使用以下命令:

df[df.result.str.contains('^test.*')].to_csv("C:/Projects/result.csv",sep=',',index=False)

這將工作:

df['temp'] = [1 if 'test' in df['result'][k] for k in df.index else 0]
df['result'][df['temp']==1].to_csv("/your/path", sep=',', index=False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM