所以这是我的问题,我已经为我的列表创建了一个字典,我正在尝试添加我找到的数据并将其附加到每一行,但它只是附加到具有相同数据类型的同一列。
我怎样才能得到它,以便每个新的追加添加到新行。
data_dict = {'contact name': [], 'name': [], 'telephone': [], 'email': [],
'mobile': [], 'feedback average': []}
try:
data_dict['telephone'].append(soup.find('span',itemprop='telephone').text)
except AttributeError:
data_dict['telephone'].append('No telephone')
print data_dict
field_names = fn = data_dict.keys()
with open('./file.csv','w') as csvfile:
f = csv.DictWriter(csvfile, fieldnames=fn)
f.writeheader()
f.writerow(data_dict)
答案 0 :(得分:0)
尝试这样的事情:
$('#btnClick').on("click", function () {
CheckTextChange()
})
function CheckTextChange() {
$('.txt').each(function () {
if ($(this).val() == $(this).prop("defaultValue")) {
alert($(this).val() + ' == ' + $(this).prop("defaultValue"));
} else {
alert($(this).val() + ' != ' + $(this).prop("defaultValue"));
}
})
}
如果我找对你,这对你有用。 但请注意,这要求csv中的一行包含字典中的元素,并且顺序正确。
如果不是这种情况,您需要找出在哪个列中写入的值,然后将此列的值添加到词典中的列表中。
所以你需要替换
data_dict = {'contact name': [], 'name': [], 'telephone': [], 'email': [],
'mobile': [], 'feedback average': []}
try:
data_dict['telephone'].append(soup.find('span',itemprop='telephone').text)
except AttributeError:
data_dict['telephone'].append('No telephone')
print data_dict
fn = data_dict.keys()
with open('./file.csv','w') as csvfile:
f = csv.reader(csvfile)
for row in f:
for i in len(fn):
data_dict[fn[i]].append(row[i])
通过
for i in len(fn):
data_dict[fn[i]].append(row[i])
其中columns是包含与data_dict相同的键的字典,以及作为特定键的数据存储在csv文件中的列的值。例如,列可能如下所示:
for k in fn:
data_dict[k].append(row[columns[k]])