【问题标题】:How to remove parentheses and apostrophe mark in output list in python如何在python的输出列表中删除括号和撇号
【发布时间】:2021-11-17 03:22:17
【问题描述】:

我正在尝试从具有一个列表(例如:('INTCAS199','INTCAS253'))的输出 Excel 文件中删除括号和撇号。我希望它改为 INTCAS199,INTCAS253。

到目前为止,这是我的代码:

import itertools
import pandas as pd

lists_combos = "combos_lists.csv"

df = pd.read_csv(lists_combos)

list_1 = list(df['List 1'].dropna())
list_2 = list(df['List 2'].dropna())

pairs=[(x,y) for x in list_1 for y in list_2]
print(pairs)

outputDf=pd.DataFrame(data=[pairs]).transpose()
outputDf.columns = ['Paired']
outputDf.to_csv('combos_done.csv',index=False)

【问题讨论】:

  • 包含一个示例 combos_list.csv。前 6 行应该没问题。我们应该能够复制它并使其成为经过验证的解决方案的一部分。
  • 您希望输出 CSV 为单列?
  • 听起来这些值是字符串,您想将它们连接成一个字符串。所以,pairs=[" ".join((x,y)) for x in list_1 for y in list_2]。转置现在使数据框成为具有许多列的单行,然后您尝试为其指定一个列名。如果您只是发布一个示例 CSV,那么回答这个问题会简单得多。

标签: python pandas list dataframe


【解决方案1】:

(例如:('INTCAS199','INTCAS253'))。我希望它改为 INTCAS199,INTCAS253。

下面的代码执行您正在寻找的“清理”。要使用的函数是replace

input_str = '''('INTCAS199', 'INTCAS253')'''
output_str = input_str.replace('(', '').replace('\'', '').replace(')', '')
print(output_str)

输出

INTCAS199, INTCAS253

【讨论】:

  • 丑陋的黑客。 OP不应该只是将这些对加入到他想要的字符串中吗?
  • @tdelaney 我同意这不是一个“非常好的”解决方案......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-15
  • 2017-02-17
  • 2022-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多