小编MF *_*OOM的帖子

将具有不同标题的 csv 文件与 Python 中的 Pandas 合并

我正在尝试将数据集映射到具有不同标题的空白 CSV 文件,因此我实际上是在尝试将数据从一个具有不同标题的 CSV 文件映射到具有不同标题数量并称为不同内容的新 CSV,原因这个问题是不同的,因为列名不一样,但也没有重叠的列。而且我不能用新的标题覆盖数据文件,因为数据文件有其他列包含不相关的数据,我确定我把它复杂化了。

我已经看过这个示例代码,但是我如何更改它,因为这个示例使用一个公共头来连接数据。

a = pd.read_csv("a.csv")
b = pd.read_csv("b.csv")
#a.csv = ID TITLE
#b.csv = ID NAME
b = b.dropna(axis=1)
merged = a.merge(b, on='title')
merged.to_csv("output.csv", index=False)
Run Code Online (Sandbox Code Playgroud)

样本数据

a.csv(空白格式文件,格式必须与此文件匹配):

Headers: TOWN NAME LOCATION HEIGHT STAR
Run Code Online (Sandbox Code Playgroud)

b.csv:

Headers: COUNTRY WEIGHT  NAME  AGE MEASUREMENT
 Data:    UK,     150lbs, John, 6,  6ft
Run Code Online (Sandbox Code Playgroud)

预期输出文件:

Headers: TOWN    NAME   LOCATION  HEIGHT  STAR
Data:    (Blank) John,  UK,       6ft    (Blank)
Run Code Online (Sandbox Code Playgroud)

python csv dataframe pandas

8
推荐指数
1
解决办法
2807
查看次数

在Swift 4中更新具有多种类型的标签

我有一个API,有时会以Int形式返回JSON中的特定键,而有时它会以String形式返回相同的键,我通过创建一个枚举IntOrString来解决此问题。现在的问题是,当我调用API更新这些特定键的标签时,类型是错误的。

然后我得到错误无法将Double类型转换为DoubleOrString类型

enum DoubleOrString: Codable {

    case double(Double)
    case string(String)

    init(from decoder: Decoder) throws {
        let container = try decoder.singleValueContainer()
        do {
            self = try .double(container.decode(Double.self))
        } catch DecodingError.typeMismatch {
            do {
                self = try .string(container.decode(String.self))
            } catch DecodingError.typeMismatch {
                throw DecodingError.typeMismatch(
                    DoubleOrString.self,
                    DecodingError.Context(
                        codingPath: decoder.codingPath,
                        debugDescription: "Encoded payload conflicts with expected type, (Double or String)"
                    )
                )
            }
        }
    }

    func encode(to encoder: Encoder) throws {
        var container = encoder.singleValueContainer()
        switch self {
        case .double(let double):
            try container.encode(double)
        case …
Run Code Online (Sandbox Code Playgroud)

ios swift

5
推荐指数
1
解决办法
87
查看次数

标签 统计

csv ×1

dataframe ×1

ios ×1

pandas ×1

python ×1

swift ×1