小编use*_*138的帖子

csv.write在写入csv时跳过行

我试图通过以下内容写入csv文件

file = open('P:\test.csv', 'a') 

fieldnames = ('ItemID', 'Factor', 'FixedAmount')
wr = csv.DictWriter(file, fieldnames=fieldnames)
headers = dict((n, n) for n in fieldnames)

wr.writerow(headers)
wr.writerow({'ItemID':1, 'Factor': 2, 'FixedAmount':3})
Run Code Online (Sandbox Code Playgroud)

但是,当我查看csv文件时,第一行是空的,第二行是我的标题,第三行是空的,第四行显示条目1,2和3.为什么它>之前跳过一行它进入了吗?

编辑:使用python 3.2

python csv

22
推荐指数
2
解决办法
3万
查看次数

创建对象列表

嗨,我可以使用变量来创建对象吗?我有一个包含多个名称的数组,对于每个名称,我想创建一个对象。所以我已经("Max", "Tim", "Fred") 并且想要遍历该数组,结果我得到类似于这样做的手册

Dim Max as CmyClass
Dim Tim as CmyClass
Dim Fred as CmyClass
Run Code Online (Sandbox Code Playgroud)

(如果这与所有良好的编程习惯背道而驰,请告诉我如何正确地做到这一点)

谢谢

vba

6
推荐指数
1
解决办法
3万
查看次数

python byRef // copy

我是Python的新手(并且不管怎么说都不太了解),但我记得读过python通常不会复制值,所以任何语句a = b都会使b指向a.如果我跑

a = 1
b = a
a = 2
print(b)
Run Code Online (Sandbox Code Playgroud)

给出结果1.不应该是2吗?

python

6
推荐指数
2
解决办法
1180
查看次数

将数组放入 class.property

我有一个具有以下属性的类:

Dim pBonds() as string

Private Property Get Bonds() As String
    Bonds = pBonds
End Property

Private Property Get Bond(index As Long) As String
    Bond = pBonds(index)
End Property

Private Property Let Bond(index As Long, strValue As String)
    If index > UBound(pBonds) Then ReDim Preserve pBonds(index)
    pBond(index) = strValue
End Property
Run Code Online (Sandbox Code Playgroud)

当我尝试时:

Set o = New CBondBasket
   For k = LBound(arr) To UBound(arr)
       o.Bond(k) = arr(k)
   Next k
Run Code Online (Sandbox Code Playgroud)

我收到错误Method or data member not found

知道那是从哪里来的吗?


做出了改变

现在将它们标记为公共并添加初始化和 byval (给我另一个错误,没有它) …

vba

4
推荐指数
1
解决办法
2万
查看次数

python clear csv文件

如何使用python清除完整的csv文件.大多数涉及删除行/列问题的论坛条目基本上都是说,要将要保留的内容写入新文件中.我需要完全清除文件 - 我该怎么做?

python csv

3
推荐指数
2
解决办法
2万
查看次数

类模块中的redim属性

我很擅长在vba中使用类.我试图使用数组作为一个属性,其中数组的长度必须是可变的.我正在寻找一种方法来做到这一点,但我真的不明白这些属性是如何工作的.

所以我在类模块中定义我的数组

Private pTestArray() As String
Run Code Online (Sandbox Code Playgroud)

以及获取和设置值的属性

Private Property Get TestArrayValue(index As Long) As String
    TestArrayValue = qTestArray(index)
End Property

Private Property Let ArrayValue(index As Long, strValue As String)
    pTestArray(index) = strValue
End Property
Run Code Online (Sandbox Code Playgroud)

但是我找不到一种方法来重新调整阵列.任何线索?谢谢C.

vba properties

2
推荐指数
1
解决办法
2069
查看次数

标签 统计

python ×3

vba ×3

csv ×2

properties ×1